阻塞、非阻塞、超时(同步与异步)
生活随笔
收集整理的這篇文章主要介紹了
阻塞、非阻塞、超时(同步与异步)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天看RXW文檔,看到這個概念,不知啥意思。。。
1.阻塞:
阻塞==同步—>例如:發送消息 直到 發送成功 才能發送下一條消息
接收消息 這條消息接收完畢 才能接收下條消息
2.非阻塞 非阻塞==異步–>例如:發送消息 不用等到這條消息發送完畢 就可以發送下條消息
接收消息 這條消息不用接收完畢 就能接收下條消息
3.超時 只有阻塞才有超時,就是指一方發送消息后超過一定時間沒有得到另一方的接收消息確認
參考文章:Socket 阻塞和非阻塞概念 超時時間
艾瑪,有很多人說阻塞非阻塞和同步異步的概念不能混為一談,
所謂同步,就是在發出一個調用時,在沒有得到結果之前,該調用就不返回。但是一旦調用返回,就得到返回值了。
換句話說,就是由調用者主動等待這個調用的結果。而異步則是相反,調用在發出之后,這個調用就直接返回了,所以沒有返回結果。
換句話說,當一個異步過程調用發出后,調用者不會立刻得到結果。而是在調用發出后,被調用者通過狀態、通知來通知調用者,或通過回調函數處理這個調用。
阻塞調用是指調用結果返回之前,當前線程會被掛起。調用線程只有在得到結果之后才會返回。
非阻塞調用指在不能立刻得到結果之前,該調用不會阻塞當前線程。
參考文章:怎樣理解阻塞非阻塞與同步異步的區別? - 盧毅luis的回答 - 知乎
總結
以上是生活随笔為你收集整理的阻塞、非阻塞、超时(同步与异步)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言linux打印运行时间(耗时) g
- 下一篇: ffmpeg:Codec for str