[英]Multithreading a filestream in vb2005
我正在嘗試為網站建立一個資源文件,基本上將所有圖像都壓縮到一個壓縮文件中,然后將其解壓縮到客戶端的輸出緩沖區中。
我的問題是在vb2005中,如果您知道轉換后的文件的大小(例如有點洪流)並處理文件流的各個部分(在這種情況下為單個文件),然后將它們添加到資源文件流中,則文件流可以是多線程的嗎?完成一次而不是一次?
如果您需要類似於洪流寫入文件的方式,這就是我要實現的方式:
:)
無論如何,從您的評論來看,您的問題似乎是另一個問題。
我發現了一些東西,但不確定是否可行:
如果要將數據寫入文件,可以使用兩個並行方法
WriteByte()
和Write()
。WriteByte()
將單個字節寫入流:
byte NextByte = 100;
fs.WriteByte(NextByte);
另一方面,
Write()
寫出字節數組。 例如,如果使用某些值初始化了前面提到的ByteArray
,則可以使用以下代碼寫出數組的前nBytes:
fs.Write(ByteArray, 0, nBytes);
來自:
Nagel,Christian,Bill Evjen,Jay Glynn,Morgan Skinner和Karli Watson。 “第24章-操作文件和注冊表”。 帶有.NET 3.0的專業C#2005。 Wrox新聞。 ©2007。Books24x7。 http://common.books24x7.com/book/id_20568/book.asp(2009年 7月22日訪問)
我不確定您是否在詢問是否可以以多線程方式讀取或寫入System.IO.FileStream對象。 但是在兩種情況下答案都是“否”。 這不是受支持的方案。 您將需要添加某種形式的鎖定,以確保對資源的序列化訪問。
該文檔將對對象的多線程訪問稱為不支持的方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.