文档详情

多线程临界区.doc

发布:2017-04-06约3.37千字共2页下载文档
文本预览下载声明
095-多线程临界区1 一、多线程 线程可以理解为一段独立运行的代码,一个进程里包含2个及以上的线程称为多线程。 二、创建线程 HANDLE CreateThread //创建新线程 ( LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to security attributes //安全描述符指针 security attributes thread attributes 指针 安全 特性 安全 特性 线程 特性 DWORD dwStackSize, // initial thread stack size //初始化线程堆栈大小 dword stack size 初始化 线程 堆栈 大小 双字节 堆栈 大小 LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function //重要 线程回调函数指针 thread start routine 初始化地址 指针 线程 函数 线程 初始化 程序 LPVOID lpParameter, // argument for new thread //新线程参数 LPVOID是一个没有类型的指针, 参数 新 线程 也就是说你可以将任意类型的指针赋值给LPVOID类型的变量 (一般作为参数传递),然后在使用的时候再转换回来 DWORD dwCreationFlags, // creation flags //创建标志 dword creation flags 创建 标志 双字节 创建 标志 LPDWORD lpThreadId // pointer to receive thread ID //返回线程ID dword thread id 指针 接收 线程 双字节 线程 ); CreateThread(NULL,0,ThreadProc,NULL,0,NULL); //创建线程 DWORD WINAPI ThreadProc( LPVOID lpParameter // 接收 CreateThread的第4个参数 参数 ) { //添加线程代码 return 1; } hand=CreateThread(NULL,0,ThreadProc,NULL,0,NULL); //创建线程 DWORD WINAPI ThreadProc1(LPVOID lpParameter) { int i=1; //添加线程代码 while(1) { i++; gotoxy(0,1); printf(i=%d,i); Sleep(10); } return 1; } 三、临界区 临界区在使用时以CRITICAL_SECTION结构对
显示全部
相似文档