进程多任务是每个进程都使用私有地址空间
多个线程使用同一个地址空间
同一时间只有一个线程在跑
创建线程
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
DWORD dwStackSize, // 初始栈大小
LPTHREAD_START_ROUTINE lpStartAddress, // 线程处理函数
LPVOID lpParameter, // 传给线程的参数
DWORD dwCreationFlags, // 创建方式
LPDWORD lpThreadId // 线程ID
);
关于dwCreationFlags -
0 - 创建线程立刻执行
CREATE_SUSPENDED - 创建之后线程处于挂起状态.
定义线程处理函数
DWORD WINAPI PTHREADPROC(void* lp)
{
}
结束线程
BOOL terminateThread(
HANDLE hThread, // handle to thread.
)
挂起状态
SuspendThread(HANDLE pthread);
唤醒线程
ResumThread(HANDLE hThread);
线程的信息
GetCurrentThreadId - 获取当前线程的ID
GetCurrentThread - 获得线程句柄
多个线程使用同一个地址空间
同一时间只有一个线程在跑
创建线程
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
DWORD dwStackSize, // 初始栈大小
LPTHREAD_START_ROUTINE lpStartAddress, // 线程处理函数
LPVOID lpParameter, // 传给线程的参数
DWORD dwCreationFlags, // 创建方式
LPDWORD lpThreadId // 线程ID
);
关于dwCreationFlags -
0 - 创建线程立刻执行
CREATE_SUSPENDED - 创建之后线程处于挂起状态.
定义线程处理函数
DWORD WINAPI PTHREADPROC(void* lp)
{
}
结束线程
BOOL terminateThread(
HANDLE hThread, // handle to thread.
)
挂起状态
SuspendThread(HANDLE pthread);
唤醒线程
ResumThread(HANDLE hThread);
线程的信息
GetCurrentThreadId - 获取当前线程的ID
GetCurrentThread - 获得线程句柄