首頁 >運維 >linux運維 >5中oi模型怎麼用?

5中oi模型怎麼用?

PHP中文网
PHP中文网原創
2017-06-20 09:21:341205瀏覽

應用程式是:小明

核心:小王

1 阻塞式I/O模型:

  小明向小王借米煮飯,小王暫時沒有,但是小明這時候其它啥事情也不做了(例如這時候他還可以洗菜),就在哪裡等的,直到小王有了大米,然後小明把大米搬運到自己家裡,開始做飯。

2 非阻塞式I/O模型:

  小明向小王借米煮飯,小王暫時沒有,但是小明這時候這時候他去洗菜了,每洗一回就去問小王米準備好了嗎,直到小王有了米,然後小明把米搬運到自己家裡,開始煮飯。

3 I/O 重複使用模式:

      村莊裡面好多人煮飯沒有米了,都去向小王借米。這樣的話無論是向小王借米的人每隔一段時間問小王也好,還是在哪裡死等小王的消息也罷,借米的人都至少不會好好的做其他的事情了,

   這樣大家就找一個代理人,然後大家吧狀況和這個代理人說了,讓這個代理人和小王互動。等有資料到達的時候,這個代理人就通知具體的某個人,然後這個人把米搬運到自己家裡面,開始煮飯。

4 訊號驅動模型:

    小明向小王借米煮飯,小王暫時沒有,但小明這時候去洗菜,而不是在哪裡等著,或是不斷的問小王,因為小王有了大米會主動通知小明,等通知到來的時候,小明把大米搬運到自己家裡,開始做飯。

5 非同步模型:

     小明向小王借大米做飯,小明向小王說完借大米的事情就去做別的事情了,等小王有了大米,並且主動把米搬運到小明的家裡,才通知小明大米到了,這時候小明開始煮飯。

 

同步:應用程式主動拷貝資料到使用者空間。

非同步:核心負責拷貝資料到使用者空間,這個過程中應用程式還在做自己的事情。

阻塞,非阻塞,I/O復用,訊號驅動,都是同步。最後的異步才是真正的異步。

 

以上是5中oi模型怎麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn