首页 新闻 会员 周边

关于线程同步的小问题望指点

1
悬赏园豆:40 [待解决问题]

我创建了一个工作区的类。然后每个任务大约5个线程。每个任务都要实例化这个工作区在里面完成工作。一个任务时还没有什么一切正常。但是我多个任务我就有多个实例,但是每个实例应该是互不影响的啊,但是我怎么感觉他们并不是同时工作的,在工作最开始所有任务都启动得很慢。

只要等会任务慢慢全启动了,就恢复正常了各做各的。我就是感觉在每个工作区实例都互相在影响。

我用是的Monitor在工作区控制实例的资源同步,请问是不是Monitor的原因呢。毕竟都是生成不同的实例总感觉还在影响。由于代码太多不方便上传了。。

恨天氏的主页 恨天氏 | 初学一级 | 园豆:16
提问于:2012-08-04 22:09
< >
分享
所有回答(1)
0

这个要看你的代码写得怎么样了,如果有很多线程共享的数据,就需要同步的访问。一旦需要同步访问的数据多了,那速度是是又点影响,还有也可能是你的线程启动的时候,需要做得事情太多了。造成了启动很慢。

chenping2008 | 园豆:9836 (大侠五级) | 2012-08-05 13:12

言之有理,我减少了很多初始化代码。。。。不过多个任务同时启动时,,看着控制台的输出情况,,,一直是等某个任务完了,,另一个任务才开玩工作。。。。不知道中间卡在什么地方了

支持(0) 反对(0) 恨天氏 | 园豆:16 (初学一级) | 2012-08-05 22:51

@恨天氏: 你确定你的代码是多线程并发开始运行的?看你的描述,像是顺序执行的啊,难道是lock的内容太多了?

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-08-06 17:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册