摘要:
驱动程序代码 #pragma once #define IO_CONTROL_TRANSMIT_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN,0x8080,METHOD_BUFFERED,FILE_ANY_ACCESS) typedef struct _DEVICE_EXTE 阅读全文
摘要:
互斥+有序 线程同步是线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应该等待,知道消息到达时才被唤醒 阅读全文
摘要:
相关函数 1,CreateEvent HANDLE WINAPI CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, //表示安全控制,一般直接传入NULL,表示不能被子进程继承 BOOL bManualReset, //参数确定事件是手动置位 阅读全文
摘要:
内核版的令牌 相关函数 HANDLE CreateMutexA( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner,//FALSE的时候,互斥体创建出来就可以用 LPCSTR lpName ); 示例代码,下面是两个程序,代表两个 阅读全文
摘要:
多个线程有对同一个全局变量进行写的操作时,会出现线程安全问题。 1,临界区 / 临界资源 临界资源时一次只允许一个线程使用的资源。 访问临界资源的那段代码称为临界区。 临界区实现之线程锁 如图 1,创建全局变量,一个全局令牌 CRITICAL_SECTION cs;//相当于一个令牌,让线程去拿,谁 阅读全文
摘要:
线程切换的时候,要保存当前运行状态,以便后续切换回来 CONTEXT结构体保存的是一堆寄存器 两个函数 //You cannot get a valid context for a running thread. Use the SuspendThread function to suspend t 阅读全文
摘要:
三个函数的使用 1,WaitForSingleObject #include <Windows.h> DWORD WINAPI MyThread(LPVOID lpParameter) { //ziji de code } int main() { HANDLE hThread; hThread = 阅读全文
摘要:
1,线程是附属在进程上的执行实体,是代码的执行流程;2,一个进程可以包含多个线程,但一个进程至少要包含一个线程(主线程) #include <Windows.h> DWORD WINAPI MyThread(LPVOID lpParameter) { //ziji de code } int mai 阅读全文