我正在将我编写的控制台应用程序从单个windows服务转换为支持多线程的windows服务。然而,这是我第一次使用多线程。
我想知道是否应该让每个类都是私有静态的,而不是公共静态的,并且对于任何必须保持公共的类,都要附加ThreadStatic属性。
基本上,代码从HTML爬行做了大量的字符串工作,然后将选择数据放在mysql数据库中。
发布于 2011-07-21 20:43:18
第一个问题的答案是否定的;调整代码以支持多线程并不(必然)意味着您需要更改成员或类型可访问性。
关于你的第二个问题,如果你需要每个线程有自己的独立静态字段(否则所有线程将共享相同的静态字段),请使用字段(而不是类型)上的ThreadStatic。
发布于 2011-07-21 20:47:22
我不知道,感觉很脏。我宁愿创建某种管理类来管理所有对象,并在它们之间传递值。
https://stackoverflow.com/questions/6776171
复制相似问题