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

學(xué)習(xí)簡(jiǎn)單的Unix信號(hào)量

系統(tǒng) 其他OS
我們?cè)谖恼轮兄饕獙?duì)Unix信號(hào)量的一些知識(shí)進(jìn)行講解,Unix信號(hào)量是防止兩個(gè)或多個(gè)進(jìn)程同時(shí)訪問共享資源的一種機(jī)制。

Unix信號(hào)量(SEMAPHORE)則是防止兩個(gè)或多個(gè)進(jìn)程同時(shí)訪問共享資源的一種機(jī)制。在Unix信號(hào)量機(jī)制實(shí)現(xiàn)之前,通常采用加鎖文件的方法。信號(hào)量(Semaphore),有時(shí)被稱為信號(hào)燈,是在多線程環(huán)境下使用的一種設(shè)施,是可以用來保證兩個(gè)或多個(gè)關(guān)鍵代碼段不被并發(fā)調(diào)用。在進(jìn)入一個(gè)關(guān)鍵代碼段之前,線程必須獲取一個(gè)信號(hào)量;一旦該關(guān)鍵代碼段完成了,那么該線程必須釋放信號(hào)量。

其它想進(jìn)入該關(guān)鍵代碼段的線程必須等待直到第一個(gè)線程釋放信號(hào)量。為了完成這個(gè)過程,需要?jiǎng)?chuàng)建一個(gè)信號(hào)量VI,然后將Acquire Semaphore VI以及Release Semaphore VI分別放置在每個(gè)關(guān)鍵代碼段的首末端。確認(rèn)這些信號(hào)量VI引用的是初始創(chuàng)建的信號(hào)量。UNIXSYSTEMV以一個(gè)長(zhǎng)整數(shù)的鍵值作為Unix信號(hào)量集合的唯一標(biāo)識(shí),Unix信號(hào)量通常由下列元素組成:

①信號(hào)量的值

②操作該信號(hào)量的最后一個(gè)進(jìn)程的進(jìn)程標(biāo)識(shí)

③等待增加該信號(hào)量的值的進(jìn)程數(shù)

④等待該信號(hào)量的值為0的進(jìn)程數(shù)

與之有關(guān)的系統(tǒng)調(diào)用如下:
 

  1. #include <sys/types.h>   
  2. #include <sys/ipc.h>   
  3. #include <sys/sem.h>   
  4. int semget(key,count,flags)   
  5. /*獲取信號(hào)量集合的標(biāo)識(shí)符*/   
  6. key_tkey; /*信號(hào)量集合的鍵*/   
  7. intcount; /*信號(hào)量集合中元素個(gè)數(shù)*/   
  8. intflags; /*任選參數(shù)*/   
  9. /*返回信號(hào)量集合標(biāo)識(shí)符,若出錯(cuò)則返回-1*/   
  10. int semop(sid,ops,nops) /*信號(hào)量操作*/   
  11. int sid; /*信號(hào)量集合標(biāo)識(shí)符*/   
  12. struct sembuf *ops; /*信號(hào)量操作結(jié)構(gòu)的指針*/   
  13. intnops; /*信號(hào)量操作結(jié)構(gòu)的個(gè)數(shù)*/   
  14. /*返回運(yùn)算完成前該組信號(hào)量中最后一個(gè)被運(yùn)算的信號(hào)量的   
  15. 值,若出錯(cuò)則返回-1*/   
  16. int semctl(sid,semnum,cmd,arg)   
  17. /*控制信號(hào)量操作*/   
  18. intsid; /*信號(hào)量集合標(biāo)識(shí)符*/   
  19. intsemnum; /*信號(hào)量元素編號(hào)*/   
  20. intcmd; /*控制命令*/   
  21. union semun{   
  22. intval;   
  23. struct semid_ds *buf;   
  24. ushort*array;} arg; /*命令參數(shù)*/  

Unix信號(hào)量元素組成部分我們就講解到這里了。

【編輯推薦】

  1. 講解Unix線程同步
  2. 靈活運(yùn)用Unix 線程知識(shí)
  3. 教你Unix消息隊(duì)列的應(yīng)用
  4. 教你如何創(chuàng)建Unix消息隊(duì)列
  5. 知識(shí)講解Unix 消息隊(duì)列
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-21 16:42:48

Unix信號(hào)量

2010-04-21 16:50:31

Unix信號(hào)量

2010-04-21 15:37:38

Unix信號(hào)量

2010-04-21 17:10:25

Unix信號(hào)量

2021-04-13 09:20:15

鴻蒙HarmonyOS應(yīng)用開發(fā)

2020-11-05 09:59:24

Linux內(nèi)核信號(hào)量

2021-09-07 07:53:42

Semaphore 信號(hào)量源碼

2020-09-25 07:34:40

Linux系統(tǒng)編程信號(hào)量

2009-12-08 12:14:43

2024-10-29 15:23:45

Python線程安全

2021-02-03 20:10:29

Linux信號(hào)量shell

2017-05-11 14:05:25

Consul分布式信號(hào)量

2020-11-10 15:25:26

SemaphoreLinux翻譯

2019-11-19 09:00:38

JavaAND信號(hào)量

2010-03-17 16:36:10

Java信號(hào)量模型

2010-07-15 15:32:10

Perl線程

2016-11-23 16:08:24

Python處理器分布式系統(tǒng)

2010-03-16 17:52:27

Java多線程信號(hào)量

2025-04-16 08:50:00

信號(hào)量隔離線程池隔離并發(fā)控制

2023-08-28 07:04:17

點(diǎn)贊
收藏

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