C#多线程操作控件问题
3个回答
展开全部
你写的这个东西问题挺多的,先说你上面那个图片,我看你的assignmentSid应该是个全局变量,你这5个线程对assignmentSid有个竞态,因该用一个全局对象锁一下,还有if(counting>=........这个地方你要是用assignmentSid>=.....会更好,这样的话这个部分就不用锁了,不然这里也要锁
再说你下面这个图片你仅仅是输出字符串,不是非要用Invoke不可,这个用起来比较麻烦,容易出错,不是推荐方法,你这个地方用的比较简单,用BackgroundWorker更好,你如果非要用Invoke也可以,你不应该在WinForm上使用,你应该在输出字符串的组件上调用
再说你下面这个图片你仅仅是输出字符串,不是非要用Invoke不可,这个用起来比较麻烦,容易出错,不是推荐方法,你这个地方用的比较简单,用BackgroundWorker更好,你如果非要用Invoke也可以,你不应该在WinForm上使用,你应该在输出字符串的组件上调用
追问
可以留下邮箱帮我修改一下吗。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在while(Run)这个循环的循环体中最后一行加个延时看看,比如Thread.Sleep(0)或者Thread.Sleep(50)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
留你的联系瞧瞧吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询