私の場合は、SyncLock を使用して一度に 1 つのスレッドによるファイルの書き込みを保証する次のメソッドがあります。
Private Shared lockThis As New Object
Public Sub Process()
SyncLock lockThis
File.AppendAllText("c:\jamo\foo.txt","foo")
End SyncLock
End Sub
私は同時に実行されている多くのスレッドを使用しています:
Public Sub CreateThreads()
Dim trd as Thread
Dim X as Integer = 10
For i as integer = 1 to X
trd = New Thread(AddressOf Process)
trd.Start()
Next Sub
End Sub
私の問題は、X が大きい場合 (500 など)、1 つ以上のスレッドが同時にファイルに書き込むことです。なぜこれが起こっているのですか?