多线程处理的问题?

windstore 2009-11-23 05:42:43
在一个类里开启多线程, 调用同一个类里的其他方法B,这样多个线程之间应该没干扰吧。 我现在这样调用貌似有问题啊。
count应该是每个线程一个,但是现在对count的调用好像多个线程公用了

class A
{
public void A()
{
//多线程调用B方法
for(Int i=0;i<10;I++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(B), null);
}
}
public Void B()
{
int count=0;
//B方法调用C和D
C(count);
D(count);
}
public Vodic C(int count)
{

}
public Vodic D(int count) { }
}
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
windstore 2009-11-24
  • 打赏
  • 举报
回复
为什么我多线程处理,反而没单线程快呢? 我是分块读取文件,然后每个块用一个线程处理。单线程用了5分钟,多线程居然用了9分钟..
angel6709 2009-11-24
  • 打赏
  • 举报
回复
嗨Vodic
count是局部的。
windstore 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cacagege 的回复:]
Vodic
[/Quote]
O(∩_∩)O哈!
windstore 2009-11-24
  • 打赏
  • 举报
回复
有人在吗
cacagege 2009-11-23
  • 打赏
  • 举报
回复
Vodic
love_wu_long 2009-11-23
  • 打赏
  • 举报
回复
程序的严谨性 一小段代码 你看有多少处错误
sundotLei 2009-11-23
  • 打赏
  • 举报
回复
没问题,count是int值类型,不用lock,
如果是多线程对对象进行操作,就需要使用lock
ytycoffe 2009-11-23
  • 打赏
  • 举报
回复
这样是没有问题,线程间传值有时候也可以用这种方法,但是要注意多个线程使用同一资源时会造成死锁,这个是需要处理的

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧