锁!代码锁
一,代碼鎖
異步?? 并發(fā),各干各的???? (比如:一群人同時上卡車)
同步?? 步調(diào)一致的處理????? (比如:一群人排隊上公交車)
多個線程并發(fā)讀寫同一個資源的時候會發(fā)生“線程并發(fā)安全問題”,如果保證多線程同步訪問臨界資源,就可以解決;
?常見的臨界資源:???? 多線程共享實例量
??????????????????????????? 靜態(tài)公共變量
使用同步代碼塊解決線程并發(fā)安全問題???? synchrenizde(同步監(jiān)視器){
??? }
同步監(jiān)視器:1,是一個任意對象的實例;??? 2,是一個多線程之間的互斥的鎖機(jī)制
多線程要使用同一個“監(jiān)視器”對象實現(xiàn)同步互斥
???????? synchronizend(this){
?? }
?如果方法的全部過程需要同步,可以簡單使用?? Synchronized?? 修飾方法;
相當(dāng)于整個方法的?? synchronized(this)
??????????? 盡量減少同步范圍,提高并發(fā)效率
二,多線程(Thread)
?? 線程是最小的運行單位,進(jìn)程可以包含多個線程;
rum 方法不能參加參數(shù)??????? 多線程是同時()執(zhí)行;
狀態(tài)1,new
狀態(tài)2,Start---rum?????? rum nable可運行狀態(tài)
狀態(tài)3,死亡結(jié)束(dead)
狀態(tài)4,Running? 運行狀態(tài)
注釋:普通線程程序員沒辦法干預(yù),由CPU決定
轉(zhuǎn)載于:https://www.cnblogs.com/haoziwoaini/p/5406451.html
總結(jié)
- 上一篇: 从零开始学编程
- 下一篇: php 真太阳时间修正,真太阳时查询表(