搜尋
首頁JavaJava入門java面試-說說進程間通訊的方式

java面試-說說進程間通訊的方式

Jan 15, 2021 am 10:50 AM
java行程面試

java面試-說說進程間通訊的方式

我們先來看看面試題目:

(學習影片分享:java影片教學

面試題一:進程間的通訊方式(VIVO、阿里巴巴面試題)

面試題二:進程通訊方式有哪些,問我分別怎麼使用,管道有哪些類型,各有什麼優缺點。 (百度面試題)

一、進程通訊的目的

1、資料傳輸
一個行程需要將它的資料傳送給另一個行程。
2、資源共享
多個行程之間共享相同的資源。
3、通知事件
一個進程需要向另一個或一組進程發送訊息,通知它(它們)發生了某種事件
4、進程控制
有些進程希望完全控制另一個進程的執行(如Debug 進程),此時控制進程希望能夠攔截另一個進程的所有陷入和異常,並且能夠及時知道它的狀態改變。

(更多相關面試題推薦:java面試題目及答案

二、進程溝通的方式

1、管道( pipe )
管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的進程間使用。進程的親緣關係通常是指父子進程關係。
2、有名管道(FIFO)
名管道也是半雙工的通訊方式,但是它允許無親緣關係進程間的通訊。
3、訊號
用來通知接收程序某個事件已經發生,主要作為進程間以及同一進程不同執行緒之間的同步手段。
4、信號量
信號量是一個計數器,可以用來控制多個行程對共享資源的存取。它常作為一種鎖機制,防止某一行程正在存取共享資源時,其他行程也會存取該資源。
5、訊息佇列
訊息佇列是訊息的鍊錶,存放在核心中。一個訊息佇列由一個識別碼(即佇列ID)來識別。訊息佇列克服了訊號傳遞訊息少、管道只能承載無格式位元組流以及緩衝區大小受限等缺點。
6、共享記憶體
共享記憶體(Shared Memory),指兩個或多個進程共享一個給定的儲存區。
特點:
共享記憶體是最快的一種 IPC,因為進程是直接對記憶體進行存取。
因為多個行程可以同時操作,所以需要進行同步。
信號量 共享記憶體通常結合在一起使用,信號量用來同步對共享記憶體的存取。
7、套接字
套接字也是一種進程間通訊機制,與其他通訊機制不同的是,它可用於不同機器間的進程通訊

相關推薦:java入門教學

以上是java面試-說說進程間通訊的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),