中易网

如何实现线程间的通讯

答案:4  悬赏:0  
解决时间 2021-02-01 02:44
如何实现线程间的通讯
最佳答案



lock加公共对象就可以
全部回答
可以用BackgroundWorker类,例: 假设在一个WinForm程序内, private BackgroundWorker bgWorker; public Form1() { InitializeComponent(); //初始化BackgroundWorker this.InitializeBackgoundWorker(); List arr = new List(); arr.Add(4); arr.Add(5); //开始异步执行后台操作 this.bgWorker.RunWorkerAsync(arr); } /// /// 初始化BackgroundWorker /// private void InitializeBackgoundWorker() { this.bgWorker = new BackgroundWorker(); this.bgWorker.DoWork += new DoWorkEventHandler(bgWorker_DoWork); this.bgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgWorker_RunWorkerCompleted); } /// /// 执行新线程,通过参数把主线程中的值传到新线程中使用。 /// /// /// private void bgWorker_DoWork(object sender, DoWorkEventArgs e) { List arr = e.Argument as List; e.Result = this.Add(arr[0], arr[1]); } /// /// 当新线程执行完毕以后会触发这个事件。 /// /// /// private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { //在主线程中返回另一个线程执行的结果并显示出来。 MessageBox.Show(e.Result.ToString()); } /// /// 一个加法操作 /// /// /// /// private int Add(int a, int b) { return a + b; } 把上面的代码复制过去慢慢研究你就会明白了,有注释。
1.全局变量 2.事件
在java中,在同步块中或者同步方法中,使用notify、wait方法可以实现线程的同步与互斥,也就是线程之间的通讯。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
歌词中含有 这世界太大了太圆了 别把自己弄丢
偶像梦幻祭 lovelive哪个好玩
鹅蛋好吃吗
cad图中钢筋符号显示为??怎么办?
陆金所里的灵活宝28天现在每天利息收益多少
求一首许多经典情歌合成一首歌的歌名
轻听发言,安知非人之谮愬,最后那字怎么读
两个恋爱中的人,那男生说你变了是什么意思
春交会和秋交会有什么不同,哪个好
镀晶镀膜蜡哪家的好用有效果?请推荐!市场上
想挽回前男友.可是他不喜欢我了,他和前女友
But for the leadership of our Party, we---
文中刻画的"左公柳"和"民勤人"两个形象具有哪
重庆从南坪汽车站到北碚怎么走
电信顺顺流下载专区
推荐资讯
蜡笔小新里面的插曲
ftp://211.144.196.251
广州协佳医院精神科靠谱吗
中单亚索如何对线德莱文?
有谁用过蚂蚁借呗,这个安全可靠嘛?
巴音查干沙湾在哪里啊,我有事要去这个地方
香港可诺丹婷美容美体地址在什么地方,想过去
如何让眼睛变大变有神
要以自己的实力什么大家
三人合牵一百兆光纤好还是自己牵20兆的好
因为生孩子不工作一年半,儿子一直我带,如果
同一人在预赛,决赛都破纪录怎么计分
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?