gpt4 book ai didi

c# - 我需要线程锁对象吗?

转载 作者:行者123 更新时间:2023-12-04 00:33:44 29 4
gpt4 key购买 nike

嘿,我正在重构一个需要一定量线程的程序。但是,我之前没有太多线程方面的经验,所以这是一个(我猜测)我需要帮助的简单问题。

程序监视某些文件(每个监视程序在不同的线程上运行),当检测到更改时,它会调用方法调用 Notify()Notify() 方法只是发送一封电子邮件。

如果两个或多个线程同时检测到更改,并同时调用 Notify(),这会出现问题吗?

我猜测,由于 Notify() 没有访问任何无法多次打开的文件或任何此类内容,因此应该不会有问题 Notify( ) 被多个线程同时调用。但我可能是错的。

如果我错了,那么在调用 Notify() 之前创建对象并使用 Lock(object) 是最好的方法吗?

最佳答案

如果多个线程需要访问共享状态(静态或非静态)并且其中一些线程试图更改,则需要锁定。如果他们所做的只是阅读,那么他们访问它就是安全。另外,如果您没有共享状态,那也没关系。

关于c# - 我需要线程锁对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379020/

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