單線程解決高並發的思路就是采用非阻塞,異步編程的思想。簡單概括就是當遇到非常耗時的IO操作時,采用非阻塞的方式,繼續執行后面的代碼,並且進入事件循環,當IO操作完成時,程序會被通知IO操作已經完成。主要運用JavaScript的回調函數來實現。
多線程雖然也能解決高並發,但是是以建立多個線程來實現,其缺點是當遇到耗時的IO操作時,當前線程會被阻塞,並且把cpu的控制權交給其他線程,這樣帶來的問題就是要非常頻繁的進行線程的上下文切換。
單線程解決高並發的思路就是采用非阻塞,異步編程的思想。簡單概括就是當遇到非常耗時的IO操作時,采用非阻塞的方式,繼續執行后面的代碼,並且進入事件循環,當IO操作完成時,程序會被通知IO操作已經完成。主要運用JavaScript的回調函數來實現。
多線程雖然也能解決高並發,但是是以建立多個線程來實現,其缺點是當遇到耗時的IO操作時,當前線程會被阻塞,並且把cpu的控制權交給其他線程,這樣帶來的問題就是要非常頻繁的進行線程的上下文切換。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。