我有一个类创建作为一个线程。哪个线程是处理对象的事件处理?
在那个类中,我创建了一个对象。这个对象有一个事件,它对我的线程类中创建的方法执行回调。
那么,我的主应用程序/ GUI线程创建这个线程&启动它。
此时,我的主要GUI线程处于空闲状态(等待键盘事件)&我的线程的execute方法位于无限循环(等待终止)。
然后,创建的对象检测到一些事件,触发一个事件,这会触发回调到线程类方法。
接下来的问题是,这个方法执行哪个线程/进程? 我的主应用程序线程(& GUI处理程序)? 或者我开始的线程,它创建了触发事件/回调的对象?
我假设主应用程序线程被中断。这是正确的吗?
您还没有提供足够的信息来说明执行回调的线程。回调可能是一个APC排队到创建该对象的线程(即'我开始的线程'),或直接从内核线程回调或从另一个进程通过线程回调。共享内存。您的主应用程序线程可能会或可能不会在回调时运行 - 通常,对于任何可能正在运行主线程的处理器内核而言,没有理由因为某些回调已被某些地方执行而被中断线。 –
@马丁詹姆斯他没有提供足够的信息,因为他是通灵但忘了我们不是:) –