|
|
1
2
|
|
2
1
我的建议是调查一下你的并发点。 首先,您将遇到一个bug,可以在线程之外访问Windows窗体对象。也就是说,对button1的访问将在调试中引发一个MDA,并且可能在运行时随机崩溃。您必须使用委托,并使用这样的模式在主线程上重新调用该方法。
第二,你的时间花在了乒乓球上。所以我建议编写一个线程安全列表(只需编写一个带有锁的方法
我建议使用.NET线程池来运行方法,而不是ping给定的IP。 要执行此操作,请编写一个函数,该函数将接收要Ping的IP,并用结果更新列表,然后通过对线程池上的项进行排队来调用它。事实上,如果你传入一个带有manualResetEvent的对象,你甚至可以编写代码来表示
如果方法是ping方法,那么obj包含一个带有manualReseteEvent的对象,以及您的方法对其目标ping所需的信息。 每次WaitHandle完成时,都可以更新状态。通过在GUI上做更多的工作,您甚至可以让系统异步工作,以便在每次响应时更新您的GUI,而不仅仅是在最后。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |