相关疑难解决方法(0)

何时在C#中使用锁定线程?

我有一个处理多个传入套接字连接的服务器,并创建2个不同的线程,以XML格式存储数据.

lock几乎在每个被称为异步的事件处理程序和代码的不同部分的2个线程中使用该语句用于线程安全.遗憾地使用这种方法我的应用程序显着减慢.

我试图完全不使用lock服务器执行速度非常快,甚至文件存储似乎也在提升; 但程序因30秒-1分钟后我不理解的原因而崩溃.工作的.

所以.我认为最好的方法是使用较少的锁或只在必要的地方使用它.因此,我有两个问题:

  1. 当我写入公共访问变量(C#列表)时,甚至当我从中读取时,是否需要锁定?

  2. 是否只需要在套接字处理程序或其他地方创建的异步线程中进行锁定?

有人可以给我一些关于如何操作的实用指南.我这次不会发布整个代码.发布大约2500行代码是没有意义的.

c# optimization multithreading thread-safety

27
推荐指数
2
解决办法
5326
查看次数

标签 统计

c# ×1

multithreading ×1

optimization ×1

thread-safety ×1