IPC之——消息隊列

消息隊列作用:

  可以用于兩個沒有聯系的進程間通信,創建一個消息隊列類似于打開了一個文件,兩個不同的進程都可以進行操作

消息隊列之函數介紹:

頭文件:<sys/type.h> <sys/ipc.h> <sys/msg.h>

1.msgget(key_t,int msgflg)://創建消息隊列  返回值為消息隊列ID號

  key_t:鍵值,內核通過key來生成消息隊列(如0333,055等),當設置成IPC_PRIVATE時為私有鍵,key為0,默認創建一個新的消息隊列

  msgflg:IPC_CREAT或IPC_EXCL,以及權限,如(msgid=msgget(033,IPC_CREAT|0600)

2.msgctl(int msqid,int cmd,struct msqid_ds *buf)
  cmd:IPC_STAT(查看消息隊列信息) ? ,IPC_RMID(刪除一個消息隊列)

  buf:是一個結構體,根據cmd而考慮加什么參數,如果是刪除可以寫NULL,如果是獲取信息就寫一個結構體變量

3.msgsnd(int msqid,const void *msgp,size_t msgsz,int msgflag)//發送消息,成功返回0,失敗返回-1

  msgp:可以將消息封裝成一個結構體,也可以是以一個數組,但是前八為必須是消息類型

  msgsz:消息長度指有效數據,不包括type;

  msgflag:IPC_NOWAIT,消息滿時不阻塞 ,立即返回

      0:無要求,滿時阻塞

4.msgrcv(int msgid,void *msgp,size_t msgsz,long msgtyp,int msgflg)//接收消息

  msgp:同上,可以是結構體也可以是數組

  msgsz:消息的數據長度,不包括type

  msgtyp:表示取的消息類型:

    0:表示取第一個消息

    num:表示取消息類型為num的消息(num為正整數)

    -num:如(-4),表示取type<=4(-4絕對指)消息,如果有多個成立的消息,從小到達,從        前到后取。。。作用(用于優先級別的控制)

  msgflg: 0表示無特殊操作選項

      IPC_NOWAIT:非阻塞

?

轉載于:https://www.cnblogs.com/edan/p/8900444.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280520.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280520.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280520.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【招聘(上海)】To B數字化營銷公司-市場易,直招.NET后端研發工程師

【招聘背景】公司&#xff1a;上海光潾網絡科技有限公司成立于2016年&#xff0c;系上海市高新技術企業&#xff0c;2021年獲數千萬A輪融資項目&#xff1a;公司自主研發營銷自動化SaaS平臺- 市場易 (Custouch) &#xff0c;通過數字手段為B2B營銷賦能&#xff0c;現服務100多家…

div 包裹_如何查看到達之前收到的包裹和郵件

div 包裹The United States Postal Service, UPS, and FedEx all offer online dashboards where you can see exactly what packages (and letters, in the case of the US Postal Service) are scheduled to arrive at your address. They’ll even email and send you text …

py文件的運行

安裝過程及配置 安裝過程準備&#xff1a; 下載好Python的安裝程序后&#xff0c;開始安裝&#xff0c;在進入安裝界面后一定確保勾選將Python加入到系統環境變量的路徑里。如圖所示&#xff1a; 2如果沒有選取&#xff0c;那么按照下面的步驟進行操作。在桌面上用鼠標右鍵點擊…

加州大學信息科學院長:數據科學課程不只是工程師才修的

一般在考慮圍繞數據科學的基礎教育時&#xff0c;傳統上的重點仍停留在計算和工程等硬性技能上。不過&#xff0c;在周四于紐約市召開的GigaOm結構數據&#xff08;Structure Data&#xff09;會議上&#xff0c;美國加州大學伯克利分校信息科學院長AnnaLee Saxenian教授表示&a…

查看安裝軟件/Select-object/Where-Object xxx -like

查看已安裝軟件 1.通過注冊列表查看 $Path(HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*,HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKCU:\SOFTWARE\WOW6432…

網絡編程基礎(一)

一.楔子 你現在已經學會了寫python代碼&#xff0c;假如你寫了兩個python文件a.py和b.py&#xff0c;分別去運行&#xff0c;你就會發現&#xff0c;這兩個python的文件分別運行的很好。但是如果這兩個程序之間想要傳遞一個數據&#xff0c;你要怎么做呢&#xff1f; 這個問題以…

dotnet-exec 讓 C# 程序更簡單

dotnet-exec 讓 C# 程序更簡單Introdotnet-exec是一個可以執行 C# 程序而不需要項目文件的命令行工具&#xff0c;并且你可以指定自定義的入口方法不僅僅是Main方法在 python/NodeJs 里&#xff0c;可以使用python xx.py/node xx.js來運行代碼&#xff0c;在 C# 中一般是需要項…

office數據集dslr_如何將照片從DSLR無線傳輸到智能手機

office數據集dslrYou’ve got a great digital camera. You’ve got all your social media apps on your phone. Wouldn’t it be nice if you could snap a beautiful shot with your DSLR and shuttle it right over to your phone to throw up on Facebook or Instagram? …

文件管理、命令別名和glob

一、復制命令:cp src dest1.如果scr是文件a.如果dest不存在&#xff0c;則新建dest并將src的內容填充到dest里b.如果dest存在&#xff0c;則會用src里的內容覆蓋dest里的內容&#xff0c;即覆蓋dest2.如果src是目錄a.如果dest不存在&#xff0c;則新建dest,然后把src下的內容復…

大數據匯聚全球精英

投資10億美元&#xff0c;選址貴安新區&#xff0c;建設iCloud服務的中國主數據中心。7月12日蘋果公司的這一舉動再次將全球目光聚集在貴州。 “貴州有令人矚目的增長&#xff0c;是中國新數據中心領域最具發展潛力的地點之一。”蘋果公司環境、政策和社會事務副總裁麗薩杰克遜…

django版本區別/與版本匹配

一、區別 路由層 1.django 1.x路由層使用url方法 django 2.x和3.x版本使用path方法 url() 第一個參數支持正則 path()第一個參數是不支持正則的 可以使用 re_path替代url() from django.urls import re_path # django2.0中的re_path #不建議導入url,不能區分版本 #from djang…

復制

ab,像這樣的復制&#xff0c;本質上a與b引用的是同一對象&#xff0c;當a改變時相應的b也會做出同樣的改變&#xff1b; 對于列表和字典這樣的容器對象分為&#xff1a;淺層復制blist(a)和深層復制bcopy.deepcopy(a) 淺層復制對對象共有的元素進行改變時同時改變&#xff1b; 深…

天坑,這樣一個lambda隨機取數據也有Bug

前幾天&#xff0c;一位網友跟我說他編寫的一段很簡單的代碼遇到了奇怪的Bug&#xff0c;他要達到的效果是從一個List中隨機取出來一條數據&#xff0c;代碼如下&#xff1a;var random new Random(); var users Enumerable.Range(0, 10).Select(p > new User(p, "A&…

中興面試一個星期沒有回音_如何在沒有回聲的情況下從亞馬遜獲取即時時尚建議...

中興面試一個星期沒有回音The Echo Look is a new device from Amazon that’s able to take a look at your outfits and tell you which one looks the best on you. However, you actually don’t need the Echo Look to get this kind of instant fashion advice from Amaz…

table分頁的簡單實現邏輯

為什么80%的碼農都做不了架構師&#xff1f;>>> //table分頁函數showPageNum: function(pageNum, allPageNum) { //pageNum點擊第幾頁&#xff0c;allPageNum總頁數$(".c_page .c_page_list").children().remove();for(var i1;i<allPageNum;i){var p…

django22:復制網頁與css/時區設置

復制網頁 1.復制文章 右擊——檢測——選中——復制——copy outerhtml (整體html) 2.復制點贊點踩 a.復制html b.css也要復制 如果是模板&#xff0c;在html head內 {% block css %}{% endblock %} 網頁 {% block css %}<style>#div_digg {float: right;margin-…

Cocos Creator Ui系統

為什么80%的碼農都做不了架構師&#xff1f;>>> 游戲場景&#xff1a;開發時組織游戲內容的中心&#xff1b;其中渲染根節點Canvas&#xff0c;包括屬性 Design Resolution&#xff08;設計分辨率&#xff09; fit width,fit height 設計分辨率是內容生產者在制作場…

關于spring boot多張表建立外健的討論

現在有四張表&#xff1a;student(學生表)、blogs(博客表)、comment(評論表)、reply(回復表) 現在說一下這四張表&#xff1a; student(學生表)&#xff1a;學生的信息記錄表 blogs(博客表)&#xff1a;學生發表的博客表 comment(評論表)&#xff1a;學生評論博客文章的表 repl…

推薦一個使用 .NET 6 開發的開源媒體系統

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具和組件&#xff0c;希望對您有用&#xff01;什么是 Jellyfin ?Jellyfin 是一個免費的媒體系統&#xff0c;它可以讓您更好的管理媒體&#xff0c;包括電影&#xff0c;音樂&…

亞馬遜echo中國使用_如何將Amazon Echo與藍牙揚聲器配對以獲得更大的聲音

亞馬遜echo中國使用Although both the full size Echo and the Echo Dot have respectable sound for their given sizes, compared to much bigger tabletop Bluetooth speakers (or a full home theater system with Bluetooth support), they’re pretty anemic. Let’s loo…