日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对于一些概念的澄清

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对于一些概念的澄清 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于開發人員來說,很多概念總是在使用,面試的時候也會被頻繁的問到。其中有幾個總是被混淆的概念,也是被反復咀嚼的幾個概念。

1.補足同步、異步、阻塞、非阻塞術語

首先,需要說明的是 同步、異步、阻塞、非阻塞 這四個概念是被簡略掉的說法。

同步,異步(調用)、阻塞,非阻塞(I/O)這才是稍微完全的說法。單純的同步,異步,阻塞,非阻塞說明的是工作的方式。而完成的說法則添加了場景。

將同步,異步,阻塞,非阻塞兩個場景進行了區分。

2.阻塞、非阻塞的場景

阻塞、非阻塞的場景是在I/O,進行設置的地方就是在處理文件句柄。在Linux服務器代碼中一版都有這樣的設置

iret?=?fcntl(nfd,?F_SETFL,?O_NONBLOCK)呢,那就是不空等。不進行阻塞,造成CPU空等。

這就是阻塞、非阻塞I/O場景。

3.同步、異步場景

同步、異步調用是一種程序設計的思路。同步是非常顯然的。函數一個接一個的執行。

而異步則是在滿足條件下進行調用。其實就是回調。

比如Linux aio,libev等等著名的異步方式的lib。都是要確定的定義,在各種情況下的方法。

//設置cb函數,字段等ev_io_init(&socket_watcher, accept_cb, sd, EV_READ);ev_io_start(loop, &socket_watcher);ev_timer_init (&timeout_watcher, timeout_cb, 2, 1);ev_timer_start (loop, &timeout_watcher);

然后設置給回調指針。這樣的工作方式則是異步。

4.為什么(異步、非阻塞)概念在混淆

這兩個概念其實有很多人是在一種混淆的狀態。為什么因為在很多network lib中,這兩種情況同時存在,例如tornado,twisted。而他們的應用場景也沒有進行比較深刻的思考。越簡單越難啊。真是老虎,老鼠傻傻分不清。

?

好了不說了,該洗澡睡覺了。。

?

轉載于:https://www.cnblogs.com/tom-zhao/p/4086149.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的对于一些概念的澄清的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。