偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

初步講解Unix 線程知識(shí)

系統(tǒng) 其他OS
文章中,我們會(huì)為大家介紹下Unix 線程的知識(shí)。Unix 線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.

今天我們來學(xué)習(xí)下Unix 線程的知識(shí)。首先我們來了解下什么是Unix 線程呢?Unix 線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.

一個(gè)Unix 線程可以創(chuàng)建和撤銷另一個(gè)Unix 線程;同一個(gè)進(jìn)程中的多個(gè)Unix 線程之間可以并發(fā)執(zhí)行。

在Unix 中,一個(gè)進(jìn)程讓另外實(shí)體進(jìn)行某項(xiàng)事務(wù)而采取的操作為fork的一個(gè)子進(jìn)程,子進(jìn)程只是將父進(jìn)程的數(shù)據(jù)區(qū)拷貝一份到自己的數(shù)據(jù)區(qū)。在符合POSIX標(biāo)準(zhǔn)的Unix 操作系統(tǒng)下,同一個(gè)進(jìn)程的Unix 線程之間共享進(jìn)程指令、大多數(shù)數(shù)據(jù)(線程私有數(shù)據(jù)除外)、信號(hào)處理方式、進(jìn)程運(yùn)行環(huán)境等。由于線程共享進(jìn)程的全局變量,因此可以采用用戶自己編寫的消息隊(duì)列來實(shí)現(xiàn)數(shù)據(jù)的共享。

建立多任務(wù)模型,并用Unix 線程來實(shí)現(xiàn)

符合POSIX標(biāo)準(zhǔn)的UNIX操作系統(tǒng)提供了Unix 線程的控制函數(shù),如:Unix 線程的創(chuàng)建和終止、線程之間的互斥、線程之間的同步等。利用這些系統(tǒng)函數(shù)可以成功地模擬消息隊(duì)列,來實(shí)現(xiàn)線程間數(shù)據(jù)共享和同步,以完成多任務(wù)的實(shí)時(shí)性。為成功地描述線程間數(shù)據(jù)共享和同步,以下列任務(wù)模型為例。

首先建立消息隊(duì)列屬性數(shù)據(jù)結(jié)構(gòu)
 

  1. #define MAXQUEUE 30   
  2. typedef struct mq_attrib {   
  3. char name[20];   
  4. pthread_mutex_t mutex_buff;   
  5. pthread_mutex_t mutex_cond;   
  6. pthread cond_t cond;   
  7. int maxElements;   
  8. int elementLength;   
  9. int curElementNum;   
  10. caddr_t buff;   
  11. }mq_attrib,mq_attribstruct,mq_attrib_t;   
  12. mq_attrib_t msqueue[MAXQUEUE];  

數(shù)據(jù)結(jié)構(gòu)定義了消息隊(duì)列的名字name,最大消息個(gè)數(shù)maxElements,單個(gè)消息長(zhǎng)度elementLength,當(dāng)前消息個(gè)數(shù)curElementNum,存放消息的緩沖區(qū)buff,保護(hù)緩沖區(qū)鎖mutex_buff,線程同步條件變量cond,保護(hù)線程同步條件變量鎖mutex_cond。

一些基本的Unix 線程的知識(shí),我們這次就介紹到這里,我們以后會(huì)有更多的Unix 線程的知識(shí)的介紹的,請(qǐng)大家繼續(xù)關(guān)注。

【編輯推薦】

  1. 講解Unix內(nèi)核超級(jí)塊知識(shí)
  2. 知識(shí)講堂Unix內(nèi)核教學(xué)
  3. 淺析Unix內(nèi)核索引結(jié)點(diǎn)表
  4. Unix內(nèi)核與Linux內(nèi)核大比拼
  5. 知識(shí)講解Unix 消息隊(duì)列
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-30 13:27:26

Unix cronta

2010-05-04 12:25:28

Unix鏈接

2010-05-05 13:45:21

Unix Telnet

2010-05-04 09:22:10

Unix文件

2010-04-30 13:38:51

Unix at命令

2010-05-05 13:13:55

Unix內(nèi)核

2010-04-21 15:20:31

Unix線程

2010-05-04 16:33:39

Unix系統(tǒng)

2010-05-05 15:02:39

Unix系統(tǒng)

2010-05-05 10:44:37

Unix 反引號(hào)

2010-04-30 18:20:23

Unix系統(tǒng)

2010-04-21 12:39:48

Unix 消息隊(duì)列

2010-05-05 13:22:29

Unix Shell

2010-04-13 17:52:16

Unix交換區(qū)

2010-05-04 09:45:28

Unix系統(tǒng)

2010-04-30 01:28:59

Unix系統(tǒng)

2010-04-20 11:34:26

Unix操作系統(tǒng)

2010-04-21 13:47:45

Unix內(nèi)核

2010-04-29 13:30:20

Unix操作系統(tǒng)

2010-05-05 17:46:32

Unix文件系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)