我的类A本身没有多线程设计,其中有两个函数将由类B中的两个事件触发执行。
首先类B的事件1引发了类A的函数1执行,但在类A函数1尚未执行完毕的情况下,类B的事件2被触发了。那么此时,问题1:是类A的函数2必须等到函数1执行完毕后再执行,还是函数2立刻开始执行?
问题2:如果函数2是立刻开始执行,那么尚未执行完毕的函数1是被强行中止,还是.Net自开多线程同时执行两函数?请有明确答案的朋友回答,并请说明简单依据。
首先类B的事件1引发了类A的函数1执行,但在类A函数1尚未执行完毕的情况下,类B的事件2被触发了。那么此时,问题1:是类A的函数2必须等到函数1执行完毕后再执行,还是函数2立刻开始执行?
问题2:如果函数2是立刻开始执行,那么尚未执行完毕的函数1是被强行中止,还是.Net自开多线程同时执行两函数?请有明确答案的朋友回答,并请说明简单依据。
解决方案 »
- C#调用C++dll的问题(高手入,如果你C++没有我这样的输出接口,你可能能学到点东西哦)
- 请教关于.net发送邮件的问题。
- 网络五子棋的源代码
- 怎样在我的网页中增加可以让用户浏览网页时,下载我的控件的功能
- 为什么C#程序设计书代码都好像是在控制台上运行的,在窗体应用程序中怎么改
- 100分求很难的问题(附代码)
- 求助啊 : WebBrowser控件的资源释放问题
- 关于listbox等控件读取拖拽来的快捷方式问题!
- 两个form之间传值的问题?
- 求asp.net帮助下载!**********在线等待!!!!
- provider 命名管道提供程序 error 40,无法打开sql连接
- ftp传输问题
按一般的情况来说,如果函数1没有执行完毕是不能执行函数2的,但这并不一定,如果函数1中有可让CUP执行其它任务的方式存在,比如Application.DoEvents()方法,或是Thread.Seelp()方法,则可能函数2有机会立刻执行。
如果是一般的方法,比如函数1中是一个死循环,这个时候从界面上来说,程序处于“死机”状态,函数2不可能被事件触发。
问题2:如果函数2是立刻开始执行,那么尚未执行完毕的函数1是被强行中止,还是.Net自开多线程同时执行两函数?
如果函数2开始执行,那么相当于是两个线程在执行,不会强制使1终止,但如果在函数2中有对1终止的方法例外。以上是个人认为。