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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

同步、异步、多线程

發布時間:2023/11/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同步、异步、多线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、首先明確一點,對于單核CPU,任意一個時刻只有一個線程在運行。那么既然這樣,多線程還有什么意義呢? 舉例來說,現在只有一個人,要做好幾個任務。單線程就是,任務一個一個地做,必須做完一個任務后,再去做另一個任務。多線程就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最后把所有的任務做完,多線程必定比單線程更耗費時間。為什么?因為,多線程要在不同的任務之間切換,切換肯定是要耗費時間的。那么問題來了,既然多線程比單線程更耗費時間,為什么還要多線程? 單線程有一個致命的問題,就是一個線程運行的整個過程中,其他線程必須等待,不能響應用戶的命令,用戶體驗太差,好像電腦死機一樣。假如單線程,你能想象一下,用戶在聽歌的時候不能寫文檔,這種體驗也太差了。多線程的時候,單核CPU一會做這個任務,一會做那個任務,切換的時間是毫秒級的,用戶完全感覺不出來。從而給用戶照成錯覺,感覺這些任務并行的運行。

2、同步的使用場景:多個線程同時訪問一塊數據,也叫共享區。對于多個線程同時訪問一塊數據的時候,必須使用同步,否則可能會出現不安全的情況。比如數據庫中的臟讀。但是,多個線程同時訪問一塊數據,有一種情況不需要同步技術,那就是原子操作,也就是說操作系統在底層保證了操作要么全部做完,要么不做。

3、異步的使用場景:只有一個線程訪問當前的數據。比如,觀察者模式,沒有共享區,主題發生變化,通知觀察者更新,主題繼續做自己的事情,不需要等待觀察者更新完成后再工作。

轉載于:https://www.cnblogs.com/nzbbody/archive/2012/09/06/2673127.html

總結

以上是生活随笔為你收集整理的同步、异步、多线程的全部內容,希望文章能夠幫你解決所遇到的問題。

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