一。Win32的线程
1。线程的创建 使用CreateThread函数创建线程,CreateThread的原型如下: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, // creation flags LPDWORD lpThreadId ); 其中: lpThreadAttributes表示创建线程的安全属性,NT下有用。 dwStackSize指定线程栈的尺寸,如果为0则与进程主线程栈相同。 lpStartAddress指定线程开始运行的地址。 lpParameter表示传递给线程的32位的参数。 dwCreateFlages表示是否创建后挂起线程(取值CREATE_SUSPEND),挂起后调用ResumeThread继续执行。 lpThreadId用来存放返回的线程ID。 进程的每个优先级类包含了五个线程的优先级水平。在进程的优先级类确定之后,可以改变线程的优先级水平。用SetPriorityClass设置进程优先级类,用SetThreadPriority设置线程优先级水平。 Normal级的线程可以被除了Idle级以外的任意线程抢占。
2。线程的终止 以下情况终止一个线程: - 调用了ExitThread函数;
- 调用TerminateThread终止一个线程;
二。Linux/Unix的线程 1。待续...
|