操作系统中的线程操作
HANDLE(句柄)是Windows操作系统中的一个概念。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表:每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如信号量,线程,和文件等,进程中的所有线程都可以访问这些资源。
先把老师的势利代码附上
#define WIN32_LEAN_AND_MEAN #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <iostream> using namespace std; DWORD WINAPI ThreadFunc(LPVOID); int main() { HANDLE hThrd;//handle是句柄的意思 DWORD threadId; int i; for (i=0; i<5; i++) { hThrd = CreateThread(NULL,//线程获得默认的安全性描述符 0,//默认值为0 ThreadFunc,//指定线程开始运行的地址。 一旦该函数退出,那么线程将终止。 (LPVOID)i,//表示传递给线程的32位的参数。 0,//该线程在创建后立即执行 &threadId );//指向一个32位值,用来存放返回的线程ID if (hThrd) { printf("Thread launched %d\n", i); CloseHandle(hThrd); } } // Wait for the threads to complete. Sleep(2000); return EXIT_SUCCESS; } DWORD WINAPI ThreadFunc(LPVOID n) { int i; for (i=0;i<10;i++) printf("%d%d%d%d%d%d%d%d\n",n,n,n,n,n,n,n,n); return 0; }
浙公网安备 33010602011771号