线程,异步,回调??? 在线程进行N个异步IO操作,我想在异步操作后,获取的它结果,并且将结果DataGridView控件中,有什么好方法? 如果用回调方法? 要注意些什么??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在的.NEt版本是不允许跨线程访问的,LZ可以查一下“多线程、控件”,一般都会有介绍:if(IsInvoked){...}采用异步机制实现。 谢谢大家的回复,我用的IO异步,即所有的操作都在ThreadPool中执行。我用的回调方法,在操作dataGridveiw时Invodke()方法lock(dataGridView) { //业务 } 2种做法,1.开线程做操作,完成后,更新到ui都是线程的活new Thread((ThreadStart)delegate{ //处理准备数据 this.Invoke((EventHandler)delegate { //更新到DataGridView });}).Start();2.开线程操作,操作完成后通知ui,然后ui统一更新Thread t1 = new Thread((ThreadStart)delegate{/*处理准备数据*/});Thread t2 = new Thread((ThreadStart)delegate{/*处理准备数据*/});Thread tn = new Thread((ThreadStart)delegate{/*处理准备数据*/});t1.Start();t2.Start();tn.Start();t1.Join();t2.Join();tn.Join();//更新界面 Remoting 访问局域网文件 C#中主键自动增长的问题请高手帮小弟解决,在线等待 在使用GridView時遇到的問題 怎么在DataSet中读出指定的数据!急! 请教c的问题,求各路神仙指点 哪位高手能否给我发一份打字测试软件的源码,非常的感谢!! 如何让选定的子mdi窗体从到底层切换到最上层来? ——在线等待 Win Form 的TreeView 展开节点问题: 菜鸟求助c#实现多线程的网络传输? 在b/s中,怎样在客户端启动一个应用程序,如计算器 请教读取XML的问题 C#,关于Cookies操作
if(IsInvoked)
{...}
采用异步机制实现。
Invodke()方法lock(dataGridView)
{
//业务
}
1.开线程做操作,完成后,更新到ui都是线程的活
new Thread((ThreadStart)delegate
{
//处理准备数据
this.Invoke((EventHandler)delegate
{
//更新到DataGridView
});
}).Start();
2.开线程操作,操作完成后通知ui,然后ui统一更新
Thread t1 = new Thread((ThreadStart)delegate{/*处理准备数据*/});
Thread t2 = new Thread((ThreadStart)delegate{/*处理准备数据*/});
Thread tn = new Thread((ThreadStart)delegate{/*处理准备数据*/});
t1.Start();
t2.Start();
tn.Start();
t1.Join();
t2.Join();
tn.Join();
//更新界面