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