多線程之一,多線程概述

來源:互聯網
上載者:User

一。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。待續...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.