97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

東莞網(wǎng)站制作模板家具設(shè)計(jì)軟件有哪些

鶴壁市浩天電氣有限公司 2026/01/24 08:29:08
東莞網(wǎng)站制作模板,家具設(shè)計(jì)軟件有哪些,請(qǐng)求做女朋友的網(wǎng)站源碼,黑馬程序員python教程Linux進(jìn)程間通信#xff08;IPC#xff09;一、信號(hào)通信1. 信號(hào)概述應(yīng)用場(chǎng)景#xff1a;異步通信通知機(jī)制處理隨機(jī)事件特點(diǎn)#xff1a;輕量級(jí)#xff0c;用于進(jìn)程間簡(jiǎn)單通知2. 信號(hào)處理流程信號(hào)產(chǎn)生#xff1a;根據(jù)需要#xff08;隨機(jī)事件#xff09;產(chǎn)生信號(hào)內(nèi)核處理…Linux進(jìn)程間通信IPC一、信號(hào)通信1. 信號(hào)概述應(yīng)用場(chǎng)景異步通信通知機(jī)制處理隨機(jī)事件特點(diǎn)輕量級(jí)用于進(jìn)程間簡(jiǎn)單通知2. 信號(hào)處理流程信號(hào)產(chǎn)生根據(jù)需要隨機(jī)事件產(chǎn)生信號(hào)內(nèi)核處理Linux內(nèi)核接收到信號(hào)請(qǐng)求在PCB鏈表中查找對(duì)應(yīng)的PID信號(hào)處理找到對(duì)應(yīng)進(jìn)程后暫停當(dāng)前工作流程執(zhí)行PCB中信號(hào)處理函數(shù)例發(fā)送信號(hào)2則調(diào)用handle2()恢復(fù)執(zhí)行信號(hào)處理函數(shù)執(zhí)行完畢后進(jìn)程繼續(xù)原來(lái)的代碼執(zhí)行3. 信號(hào)相關(guān)函數(shù)發(fā)送信號(hào)int kill(pid_t pid, int sig);功能給指定進(jìn)程發(fā)送信號(hào)參數(shù)pid接收信號(hào)的進(jìn)程PIDsig信號(hào)編號(hào)可用kill -l查看返回值成功返回0失敗返回-1信號(hào)捕獲與處理void (*signal(int signum, void (*handler)(int)))(int); // 或使用簡(jiǎn)化類型 sighandler_t signal(int signum, sighandler_t handler);handler參數(shù)選項(xiàng)SIG_DFL默認(rèn)處理SIG_IGN忽略信號(hào)自定義函數(shù)用戶自定義處理函數(shù)查看信號(hào)信息man 7 signal # 查看系統(tǒng)中信號(hào)的說(shuō)明和默認(rèn)處理行為二、管道通信1. 無(wú)名管道int pipe(int pipefd[2]);功能創(chuàng)建并打開(kāi)一個(gè)無(wú)名管道參數(shù)pipefd[0]固定讀端pipefd[1]固定寫(xiě)端特點(diǎn)只能用于有親緣關(guān)系的進(jìn)程間通信單向通信生命周期隨進(jìn)程結(jié)束2. 有名管道int mkfifo(const char *pathname, mode_t mode);功能創(chuàng)建有名管道文件參數(shù)pathname管道文件路徑名稱mode八進(jìn)制文件權(quán)限特點(diǎn)可用于任意進(jìn)程間通信以文件形式存在于文件系統(tǒng)需要手動(dòng)刪除三、共享內(nèi)存1. 概述提供者System VUnix操作系統(tǒng)特點(diǎn)最高效的IPC方式進(jìn)程直接讀寫(xiě)內(nèi)存無(wú)需內(nèi)核介入需要配合其他同步機(jī)制如信號(hào)、信號(hào)量集2. 與管道對(duì)比特性共享內(nèi)存管道讀寫(xiě)方向雙方都可讀寫(xiě)單向讀阻塞無(wú)有寫(xiě)阻塞無(wú)有數(shù)據(jù)存儲(chǔ)內(nèi)存數(shù)組內(nèi)核緩沖區(qū)數(shù)據(jù)保持不刪除數(shù)據(jù)讀取后刪除3. 使用步驟生成key → 申請(qǐng)對(duì)象 → 映射對(duì)象 → 讀寫(xiě)對(duì)象 → 撤銷映射 → 刪除對(duì)象4. 相關(guān)函數(shù)生成唯一鍵值key_t ftok(const char *pathname, int proj_id);功能生成唯一臨時(shí)鍵值參數(shù)pathname任意存在的文件路徑proj_id整形數(shù)字通常用ASCII字符注意路徑文件不能被刪除重建申請(qǐng)共享內(nèi)存int shmget(key_t key, size_t size, int shmflg);功能向內(nèi)核申請(qǐng)共享內(nèi)存參數(shù)key唯一鍵值size共享內(nèi)存大小shmflg訪問(wèn)權(quán)限八進(jìn)制 標(biāo)志IPC_CREAT第一個(gè)申請(qǐng)時(shí)使用IPC_EXCL檢測(cè)是否存在返回值成功返回共享內(nèi)存IDshmid映射共享內(nèi)存void *shmat(int shmid, const void *shmaddr, int shmflg);功能將共享內(nèi)存映射到本地內(nèi)存空間參數(shù)shmid共享內(nèi)存IDshmaddr本地地址通常為NULL系統(tǒng)自動(dòng)分配shmflg0可讀寫(xiě)SHM_RDONLY只讀返回值成功返回映射地址讀寫(xiě)操作memcpy(); // 二進(jìn)制數(shù)據(jù) strcpy(); // 字符串?dāng)?shù)據(jù)撤銷映射int shmdt(const void *shmaddr);功能斷開(kāi)本地內(nèi)存與共享內(nèi)存的映射參數(shù)shmaddr- 映射地址刪除共享內(nèi)存對(duì)象int shmctl(int shmid, int cmd, struct shmid_ds *buf);功能修改屬性或刪除共享內(nèi)存參數(shù)shmid共享內(nèi)存IDcmdIPC_RMID刪除bufNULL只刪除對(duì)象5. 系統(tǒng)命令ipcs -a # 查詢所有IPC對(duì)象共享內(nèi)存、信號(hào)量集、消息隊(duì)列 ipcrm -m ID # 刪除指定的共享內(nèi)存四、使用注意事項(xiàng)信號(hào)信號(hào)處理函數(shù)應(yīng)盡量簡(jiǎn)短注意信號(hào)的可重入性問(wèn)題某些信號(hào)不可捕獲如SIGKILL管道無(wú)名管道需在fork前創(chuàng)建有名管道需要處理讀寫(xiě)阻塞注意管道緩沖區(qū)大小限制共享內(nèi)存必須配合同步機(jī)制使用注意內(nèi)存映射的生命周期及時(shí)清理避免內(nèi)存泄漏注意多進(jìn)程并發(fā)訪問(wèn)的數(shù)據(jù)一致性問(wèn)題通用建議錯(cuò)誤處理要完善資源使用后及時(shí)釋放考慮進(jìn)程異常退出的清理工作
版權(quán)聲明: 本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)聯(lián)系我們進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

深圳網(wǎng)站開(kāi)發(fā)哪家專業(yè)中華建筑網(wǎng)

深圳網(wǎng)站開(kāi)發(fā)哪家專業(yè),中華建筑網(wǎng),怎么創(chuàng)建微信公眾號(hào)平臺(tái),湖北智能建站系統(tǒng)價(jià)格函數(shù)在倉(cāng)頡語(yǔ)言中是普遍存在的。通過(guò)之前的章節(jié)已經(jīng)可以了解到倉(cāng)頡函數(shù)的基本形式#xff1a;main()函數(shù)是很多程序的入口

2026/01/23 10:01:01