私はいくつかのスレッドが使用するモジュールに3つの機能を持っています。すべての関数は、メインdoWorkサブを除くローカル変数にアクセスします。これはスレッドセーフなコードですか?
Sub DoWork(byval i as integer)
synclock (ListTasks)
dim strItem as string =ListTasks(CInt(i)).ToString
end SyncLock
dim strHtml as string = GetHtml(strItem)
dim strParsed as string = ParseHtml(strHtml)
dim strResult as string = Report(strParsed)
End sub
Function GetHtml(byval url as string) as string
'code to get website
ens sub
Function ParseHtml(Byval html as string) as string
'code to parse HtmlString
end function
Function Report(Byval html as string) as string
'do the work
end function
これはスレッドセーフなコードなので、スレッドはデータを上書きしませんか?
他に、あなたのコードで 'ListTasks'が使われていますか?そのコードも重要です。 – Justin