当前位置:编程学习 > C#/ASP.NET >>

怎么让一个异步方法同时并发。

我想做一个网络监控软件,有一堆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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,