怎么让一个异步方法同时并发。
我想做一个网络监控软件,有一堆IP 通过 Ping.SendAsync 方法异步执行。我想要做到每个IP都有一个独立的线程来操作我界面上的datagridview 控件。
大致代码
Ping p1 = new Ping();
p1.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);
p1.SendAsync(IPstring, null);
这里只是执行一个的,我想要所有的IP都同时执行这个。
C# 异步 多线程 并发 --------------------编程问答-------------------- DataGridView实例是非线程安全的,你在其它线程内操作这个控件可能会有问题。
你可以在线程内委托事件,在创建DataGridView的线程内调用事件,来实现你的目的。
至于有没有其它好的办法,我就不知道了。 --------------------编程问答-------------------- --------------------编程问答-------------------- CheckForIllegalCrossThreadCalls = false;
加个这个试试看 --------------------编程问答-------------------- 说白了就是各自用BeginInvoke回调到控件所在线程,楼上的建议别用,CheckForIllegalCrossThreadCalls = false;使用的话,你的程序必定会出现错误而无任何提示就退出,有前人碰到过并在CSDN上贴过这样的代码的,就是用了CheckForIllegalCrossThreadCalls = false;而导致程序崩溃。 --------------------编程问答--------------------
怎么让每个 IP 都有自己的线程。
补充:.NET技术 , C#