国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

i.MX6ULL開發板線程同步POSIX無名信號量

發布時間:2021-4-2 13:58    發布者:落風
為保證每個線程對同一資源訪問有效,比如一個線程想要從共享資源讀數據,而這些資源正在被其他線程修改,那么讀出來的數據是無效的,那么就要想辦法讓其他線程修改完再去讀,這時候就用到了同步機制。可以使用Linux系統提供的機制來對線程訪問資源的順序進行同步,本文檔挑選了信號量,互斥鎖,條件變量來介紹線程同步機制,實驗代碼在sync/目錄下。

1 POSIX無名信號量
本章介紹POSIX 無名信號量,以下簡稱信號量。信號量類似于計數器,操作方法和前面的System V 信號燈基本一樣。
使用信號量的步驟:
1.在程序全局區定義信號量;
2.使用seminit()初始化信號量;
3.使用sem_wait()和sem_post()對信號量進行P/V操作;
4.使用sem_destroy()銷毀信號量。

信號量常用函數如下:
sem_init():對信號量值進行初始化,
#include
int sem_init(sem_t *sem, int pshared, unsigned int value);
參數含義:
sem:指針,指向定義的信號量;
pshared:指明這個信號量用于進程還是線程,0為線程,不等于0為進程,本節填寫為0。
value:信號量初始值
返回值:成功返回0,錯誤返回-1。

sem_wait():等待一個信號量,進行P操作,信號量值-1;
sem_post():喚醒一個信號量,進行V操作,信號量值+1,定義如下:
#include
int sem_wait(sem_t *sem);
int sem_post(sem_t *sem);
參數含義:
sem:要操作的信號量;
返回值:成功返回0,錯誤返回-1。

sem_destroy():銷毀初始化后的信號量
#include
int sem_destroy(sem_t *sem);
sem:要操作的信號量;
返回值:成功返回0,錯誤返回-1。

實驗代碼在sync/sem.c:路徑為:11_Linux系統開發進階\Linux系統編程_章節使用資料。
使用信號量控制讀寫線程,初始化時寫信號量為1,讀信號量為0,那么讀線程就會阻塞,寫線程就會執行并將寫信號-1,寫線程在fgets等待輸入,當輸入完成后,將讀信號+1喚醒讀線程,這樣讀寫線程交替執行就完成了同步。





本文地址:http://m.qingdxww.cn/thread-763992-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频中文字幕 | 茄子黄瓜石榴香蕉草莓绿巨人 | 国产69精品久久久久99不卡 | 一区二区三区四区免费视频 | 在线观看麻豆视频 | 日本黄大片在线观看 | 精品欧美一区二区在线观看 | 国产手机在线国内精品 | 精品一精品国产一级毛片 | 国产成人91青青草原精品 | 亚洲无线码一区二区三区 | 日本免费人成黄页在线观看视频 | 99这里只有精品 | 999在线播放| 欧美在线网址 | a级国产乱理伦 | 成人免费午夜视频 | 9191国语精品高清在线最新 | 精品四虎免费观看国产高清午夜 | 夜夜天天干 | 亚洲欧洲一区二区 | 久久观看视频 | 色樱桃影院亚洲精品影院 | 在线观看视频91 | 精品视频在线免费 | 欧美午夜视频在线观看 | 丁香婷婷久久大综合 | 色综合久久98天天综合 | 男性天堂| 99ri国产在线 | 毛片网页 | 91啪国产在线 | 97视频在线免费 | 亚洲一区第一页 | 日本作爱视频 | chinese麻豆| 日本在线观看高清不卡免v 日本在线观看的免费 | 日韩中文在线播放 | 青青网站 | 91在线综合 | 21款禁用app软件下载 |