电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java并發編程專題(一)----線程基礎知識

瀏覽:40日期:2022-08-30 09:32:29

在任何的生產環境中我們都不可逃避并發這個問題,多線程作為并發問題的技術支持讓我們不得不去了解。這一塊知識就像一個大蛋糕一樣等著我們去分享,抱著學習的心態,記錄下自己對并發的認識。

1.線程的狀態:

線程狀態圖:

java并發編程專題(一)----線程基礎知識

1、新建狀態(New):新創建了一個線程對象。

2、就緒狀態(Runnable):線程對象創建后,其他線程調用了該對象的start()方法。該狀態的線程位于可運行線程池中,變得可運行,等待獲取CPU的使用權。

3、運行狀態(Running):就緒狀態的線程獲取了CPU,執行程序代碼。

4、阻塞狀態(Blocked):阻塞狀態是線程因為某種原因放棄CPU使用權,暫時停止運行。直到線程進入就緒狀態,才有機會轉到運行狀態。阻塞的情況分三種:

等待阻塞:運行的線程執行wait()方法,JVM會把該線程放入等待池中。 同步阻塞:運行的線程在獲取對象的同步鎖時,若該同步鎖被別的線程占用,則JVM會把該線程放入鎖池中。 其他阻塞:運行的線程執行sleep()或join()方法,或者發出了I/O請求時,JVM會把該線程置為阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態。

5、死亡狀態(Dead):線程執行完了或者因異常退出了run()方法,該線程結束生命周期。

2.線程調度

2.1、調整線程優先級:

Java線程有優先級,優先級高的線程會獲得較多的運行機會。Java線程的優先級用整數表示,取值范圍是1~10,Thread類有以下三個靜態常量:

static int MAX_PRIORITY 線程可以具有的最高優先級,取值為10。 static int MIN_PRIORITY 線程可以具有的最低優先級,取值為1。 static int NORM_PRIORITY 分配給線程的默認優先級,取值為5。

Thread類的setPriority()和getPriority()方法分別用來設置和獲取線程的優先級。

每個線程都有默認的優先級。主線程的默認優先級為Thread.NORM_PRIORITY。

線程的優先級有繼承關系,比如A線程中創建了B線程,那么B將和A具有相同的優先級。

JVM提供了10個線程優先級,但與常見的操作系統都不能很好的映射。如果希望程序能移植到各個操作系統中,應該僅僅使用Thread類有以下三個靜態常量作為優先級,這樣能保證同樣的優先級采用了同樣的調度方式。

3.線程基本方法使用說明:

-線程睡眠:Thread.sleep(long millis),使線程轉到阻塞狀態。millis參數設定睡眠的時間,以毫秒為單位。當睡眠結束后,就轉為就緒(Runnable)狀態。sleep()平臺移植性好。 -線程等待:Object類中的wait(),導致當前的線程等待,直到其他線程調用此對象的 notify() 方法或 notifyAll() 喚醒方法。這個兩個喚醒方法也是Object類中的方法,行為等價于調用 wait(0) 一樣。 -線程讓步:Thread.yield() ,暫停當前正在執行的線程對象,把執行機會讓給相同或者更高優先級的線程。 -線程加入:join(),等待其他線程終止。在當前線程中調用另一個線程的join()方法,則當前線程轉入阻塞狀態,直到另一個進程運行結束,當前線程再由阻塞轉為就緒狀態。 -線程喚醒:Object類中的notify()方法,喚醒在此對象監視器上等待的單個線程。如果所有線程都在此對象上等待,則會選擇喚醒其中一個線程。選擇是任意性的,并在對實現做出決定時發生。線程通過調用其中一個 wait 方法,在對象的監視器上等待。 直到當前的線程放棄此對象上的鎖定,才能繼續執行被喚醒的線程。被喚醒的線程將以常規方式與在該對象上主動同步的其他所有線程進行競爭;例如,喚醒的線程在作為鎖定此對象的下一個線程方面沒有可靠的特權或劣勢。類似的方法還有一個notifyAll(),喚醒在此對象監視器上等待的所有線程。

注意:Thread中suspend()和resume()兩個方法在JDK1.5中已經廢除,不再介紹。因為有死鎖傾向。

Java 中的線程可以分為守護線程(Daemon Thread) 和用戶線程( User Thread) 。用戶線程會阻止JVM 的正常停止,即JVM 正常停止前應用程序中的所有用戶線程必須先停止完畢,否則JVM 無法停止。而守護線程則不會影響JVM 的正常停止,即應用程序中有守護線程在運行也不影響JVM 的正常停止。因此,守護線程通常用于執行一些重要性不是很高的任務,例如用于監視其他線程的運行情況。

以上就是java并發編程專題(一)——線程基礎知識的詳細內容,更多關于JAVA 線程基礎知識的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 奥运星-汽车性能网评-提供个性化汽车资讯| 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 鲸鱼视觉 -数字展厅多媒体互动展示制作公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 猪I型/II型胶原-五克隆合剂-细胞冻存培养基-北京博蕾德科技发展有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 广州各区危化证办理_危险化学品经营许可证代办 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 |