1. Thread Scheduling and thread Switching
Thread Scheduling occurs within the core layer, while thread switching occurs when the CPU releases the core layer.
2. APC (asynchronous process call) execution time
(1) For user APC, it is called when the target thread returns the user space from the kernel;
(2) For the kernel APC, it occurs when the CPU is reduced or the thread is switched;
3. DPC (delayed process call) Call time
When the CPU running level is reduced from dispatch-level or above to dispatch_level, the kernel scans the DPC queue and runs it. For example, when the service is terminated or kelovererql () is called.
4. About asynchronous Io
the current thread may wait for sleep from iostartpacket () to ioperformsyncronousrequest, or always return to the user space. The operation on the device is handed over to the interrupt service Program and the DPC function may have kernel threads. The work actually completed by the DPC function or kernel thread also includes the event V Operation for synchronization and submits the APC request.