C#多线程Windows服务,私有或[ThreadStatic]

时间:2011-07-21 12:38:32

标签: c#

我正在将我从单个Windows服务编写的控制台应用程序转换为支持多线程的Windows服务。但是,这是我第一次使用多线程。

我想知道是否应该使每个类都是私有静态而不是公共静态,并且对于任何必须保持​​公共的内容,请附加[ThreadStatic]属性。

基本上,代码通过HTML Crawling完成大量字符串工作,然后将选择数据放在mysql数据库中。

2 个答案:

答案 0 :(得分:1)

你的第一个问题的答案是否定的;调整代码以支持多个线程并不(必然)意味着您需要更改成员或键入可访问性。

关于你的第二个问题,如果你需要每个线程都有自己独立的静态字段,那么在字段(不是类型)上使用ThreadStatic(否则所有线程将共享相同的静态字段)。

答案 1 :(得分:-1)

我不知道,感觉很脏。我宁愿创建某种管理类来管理所有对象并在它们之间传递值。