gpt4 book ai didi

vb.net - SyncLock和非常多的线程VB .Net

转载 作者:行者123 更新时间:2023-12-03 13:13:15 28 4
gpt4 key购买 nike

我的情况是我有以下使用SyncLock的方法,以确保一次由一个线程写入文件。

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)时,一个或多个线程同时写入文件。为什么会这样呢?

最佳答案

我没有证据,但这可能是事实。如果有任何其他进程在不共享文件的情况下打开文件,而尝试打开文件的线程数为500个或更多,则该文件可能会为其中一个被锁定...

关于vb.net - SyncLock和非常多的线程VB .Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004643/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com