创建线程
创建线程方法一、
HANDLE WINAPI CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程安全属性
SIZE_T dwStackSize, // 线程堆栈大小
LPTHREAD_START_ROUTINE lpStartAddress, // 线程函数地址
LPVOID lpParameter, // 线程函数参数
DWORD dwCreationFlags, // 指定线程是否立即启动
LPDWORD lpThreadId // 存储线程ID号
);
线程内核对象就是一个包含了线程状态信息的数据结构。每次对CreateThread 的成功调用,系统都会在内部为其分配一个内核对象。
线程上下文反应了线程上次执行的寄存器状态,来保证线程之间切换(即还原现场)。
计数器,调用一次OpenThread(CreateThread ),计数器加1,CloseThread(CloseHandle)计数器减一。当计数器值为0时,没有线程使用该内核对象,系统收回内存。计数器的初始值是2(主线程是1,创建的线程是2)。
创建线程方法二、C++底部的,并不是Windows标准API,创建线程函数,该函底层调用