C#如何减少假死,等待响应时间
C#怎么减少假死,等待响应时间?
A类中调用a方法,a方法中有对控件的操作有需要等待的事件,每当调用a方法时就假死了,怎么减少这种假死的时间?我用线程去操作需要等待的事件,结果不是创建线程不能对他进行操作,a方法使用也比较频繁。
------解决思路----------------------
使用多线程可防止假死状态。
------解决思路----------------------
参考这个帖子http://bbs.****.net/topics/390877297
------解决思路----------------------
什么“线程、循环、阻塞、等待”之类的,都是坑爹。先把“事件驱动程序”的模式搞明白,写出来的程序或者画出来的流程图,才不会想当然地出现什么“死等”的逻辑活动。
------解决思路----------------------
如果是2.0的就得使用多线程。
如果是3.5以上,可以用异步来操作UI。
------解决思路----------------------
跨线程操作窗体的方法:
1、设置Control.CheckForIllegalCrossThreadCalls = false;
2、使用委托
当然还有其他方法
你可以百度搜一下 C#跨线程操作控件
------解决思路----------------------
如果a方法执行时间太长无法忍受,就只能把它扔到一个新线程中执行或者在a方法中对耗费时间的地方使用子线程。但使用了子线程,就必须考虑到a方法中所做的某些修改造成的影响并解决。如果a方法有返回值,那后面要使用这个返回值的话,只能等待a函数结束并返回了。
A类中调用a方法,a方法中有对控件的操作有需要等待的事件,每当调用a方法时就假死了,怎么减少这种假死的时间?我用线程去操作需要等待的事件,结果不是创建线程不能对他进行操作,a方法使用也比较频繁。
------解决思路----------------------
使用多线程可防止假死状态。
------解决思路----------------------
参考这个帖子http://bbs.****.net/topics/390877297
------解决思路----------------------
什么“线程、循环、阻塞、等待”之类的,都是坑爹。先把“事件驱动程序”的模式搞明白,写出来的程序或者画出来的流程图,才不会想当然地出现什么“死等”的逻辑活动。
------解决思路----------------------
如果是2.0的就得使用多线程。
如果是3.5以上,可以用异步来操作UI。
------解决思路----------------------
跨线程操作窗体的方法:
1、设置Control.CheckForIllegalCrossThreadCalls = false;
2、使用委托
当然还有其他方法
你可以百度搜一下 C#跨线程操作控件
------解决思路----------------------
如果a方法执行时间太长无法忍受,就只能把它扔到一个新线程中执行或者在a方法中对耗费时间的地方使用子线程。但使用了子线程,就必须考虑到a方法中所做的某些修改造成的影响并解决。如果a方法有返回值,那后面要使用这个返回值的话,只能等待a函数结束并返回了。