关于多线程小结
在查找資料和學習的過程中留下的一點總結,敬請拍磚指教。
?
程序、進程、線程的區別?
進程是一個程序的進行時狀態,一個程序運行在不同的數據集上可以形成多個進程。線程是進程的一個運行單元,一個進程中可以有多個線程。
?
volatile 和 synchronized 區別
volatile 是變量修飾符,使線程不拷貝主內存中的變量而是直接操作主內存中的變量,從而保持變量的一致性,但是volatile在變量的值依賴于它的前一個值時會失效。
synchornized 修飾方法或代碼塊,使得整個代碼塊獲得監視器,加鎖,消除線程中的變量,直接從主內存中拷貝過來變量,執行,安全的同步到主內存,釋放鎖。消耗更多的資源。
?
線程與線程之間怎樣通信?進程與進程之中怎樣通信?
線程與線程之間:
a). 使用全局變量
b).使用消息實現通信
c).使用事件CEvent類實現線程間通信
進程與進程間通信(IPC):
管道、有名管道、共享內存、信號量、消息隊列、套接字等
詳見:http://www.jianshu.com/p/9218692cb209
?
轉載于:https://www.cnblogs.com/lyystudy/p/5718800.html
總結
- 上一篇: 知识梳理——HTML篇
- 下一篇: 关于排版中经常见的问题的解决方法