0

文字列のリストを受け取る非常に基本的なコードがいくつかあり、文字列ごとに新しいスレッドが作成されます。

次に、スレッドはその文字列で名前が付けられたファイルを書き込むため、一意である必要がありますが、アクセス違反が発生します。

VS 2010 でデバッガー オプションを試してみましたが、ステップスルーしてもファイル アクセスの問題は発生しませんが、ループごとに 2 行が書き込まれるため、スレッドを 2 回実行することにまだ問題があると想定しています。

スレッドを呼び出すコード:

For Each x In x_list
  Dim trd as new Thread(DirectCast(Sub() tp(x), ThreadStart))
Next

スレッドのコード:

Private Sub tp(ByVal x_in As String)
  Dim res_file As New StreamWriter("C:\result_" + x_in + ".txt", True)
  For i = 1 to 5
    res_file.WriteLine(DateTime.Now.ToString)
  Next
  res_file.Close()
End Sub
4

1 に答える 1