join的意思我理解了,就是堵塞当前主进程去执行新进程。但是我现在有个疑问,我启动两个线程就是防止程序假死在那里的,开个新线程去读取设备,但是有可能这个设备根本没有连接,也就是说新线程会卡在那,那是不是我的程序又假死了?不知道大家能不能看懂。
解决方案 »
- 请教rss订阅网站第一次加载时候是怎么读取到那么多数据的?
- dataGridView问题。
- 关于获取GridView键值,并传递给下一个页面的问题。
- 怎么终止一个已经假死的线程
- 那位有关于krypton toolkit 使用说明
- 如何得到指定月份的第一天和最后一天,
- 郁们中,,,散点分,,顶的都有分
- 高手请进!!!C# 如果何实现结构体数组?
- 我想用C#来做一个奇迹外挂,请问怎么下手
- 怎样得到 dataReader 返回的数据集的记录行数?
- 【高分求助】请问用HttpRequest Post登录某论坛,返回的COOKIE为空,好像是论坛设置JS产生COOKIE的原因
- 如何获取文件中的一幅图片的图片名
catch?防止假死可以这样啊
比如:
private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker backgroundWorker = sender as BackgroundWorker;
Execute(backgroundWorker, e);
}线程启动用
if (!backgroundWorker1.IsBusy)
backgroundWorker1.RunWorkerAsync();那么增加东西的时候就可以对窗体进行操作。
UI 线程里join 那两个连接设备的子线程,UI就会卡死...
可以用 Delegate.BeginInvoke,传入callback delegate,
或者用 .net 4.0 ATP 的 async,await直接转化成 Event based Async Pattern只要UI等子线程完成,就一定会挂死。