成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入剖析Java編程語言

開發(fā) 后端
本文介紹的是java編程語言,從三個(gè)方面探討了java這種編程語言。希望本文能夠?qū)δ阌袔椭黄饋砜础?/div>

Java編程語言需要我們進(jìn)行相關(guān)知識的學(xué)習(xí),不少人都會(huì)說我們要注意相關(guān)問題的介紹。下面我們就從三方面來看看如何進(jìn)行Java編程語言的認(rèn)識和學(xué)習(xí)。希望大家有所收獲。 

我對進(jìn)程、線程的了解,主要是學(xué)生時(shí)代看過的一本大概叫做“C++面象對象多線程編程”的書,是美國人寫的。后來學(xué)Java編程語言,一直是馬馬虎虎,以完成任務(wù)為目標(biāo),沒有像學(xué)C++那樣打?qū)嵒A(chǔ)(C++的基礎(chǔ)也忘差不多了,汗)。這不做東西時(shí)又碰到麻煩,經(jīng)過排查解決,有幾個(gè)簡單知識點(diǎn)做一下筆記。

第一個(gè)是run()與start()。

翻翻以前自己寫的代碼,是用start()啟動(dòng)線程的,這次居然犯糊涂用run()來跑,不出錯(cuò)才怪呢。相信有不少Java編程語言程序員像我一樣,在不懂的時(shí)候,就按個(gè)點(diǎn),查看方法列表,跟據(jù)方法名想當(dāng)然地理解。這種方法可以快速入手做東西,但像多線程這類的東西,還是需要打牢基礎(chǔ),不然麻煩多多。

run()只是一個(gè)普通方法,是Runnable接口定義的,用來執(zhí)行線程最終要做的事情的方法,它本身沒有特別之處,就像main方法一樣,啟動(dòng)一個(gè)線程后,run()方法會(huì)被調(diào)用。所以,run()方法沒有創(chuàng)建多線程,run()方法里的東西還在調(diào)用者線程里跑。

start()方法是Thread類定義的,它是真正負(fù)責(zé)啟動(dòng)一個(gè)線程的。調(diào)用此方法后,將會(huì)從線程創(chuàng)建一個(gè)新的線程出來(強(qiáng)調(diào)從當(dāng)前線程創(chuàng)建新線程是因?yàn)橐恍傩员热鏳aemon會(huì)被繼承),然后在新線程執(zhí)行run()方法。

第二個(gè)就是InterruptedException。

典型地,我們在run()方法中常用while循環(huán),并且每次循環(huán)通常有Thread.sleep(long)調(diào)用,這個(gè)sleep(long)方法會(huì)拋出InterruptedException。之前對這個(gè)異常的理解有誤,以為這是個(gè)“錯(cuò)誤”,其實(shí)這只是表示一個(gè)狀態(tài)。看官方文檔有點(diǎn)拗口,簡單地說,這個(gè)異常被拋出表示線程收到中斷請求(你也可以理解為線程正在被終止,通常是這樣,但不絕對。

為了線程安全、保證數(shù)據(jù)的一致性,Java編程語言提倡用溫和手?jǐn)嘀兄咕€程,溫和的意思就是run()方法里的代碼有機(jī)會(huì)決定什么時(shí)候退出),比如外部調(diào)用interrupt()來中斷此線程。sleep()收到中斷異常意味著sleep時(shí)外部發(fā)來了中斷請求信號,這時(shí)如果沒有需要善后的操作,就可以退出while循環(huán),結(jié)束線程了。

我以前的代碼是catch掉打一句日志,雖然正常工作了,但是卻是錯(cuò)誤的。

第三個(gè)是Thread.interrupted()和thread.isInterrupted()的區(qū)別(后者thread代表Thread的一個(gè)實(shí)例)。

兩者都返回線程的當(dāng)前狀態(tài),區(qū)別在于前者返回當(dāng)前狀態(tài)后,會(huì)復(fù)會(huì)這個(gè)狀態(tài)。比如Thread.interrupted()得了true,但此后線程狀態(tài)被立即置為了false。如果不想改變這一狀態(tài),可以用isInterrupted(),比如Thread.currentThread.isInterrupted()。

還有就是中斷狀態(tài)是會(huì)被一些操作改變的,所以不能只用此狀態(tài)來斷段線程是否要退出。線程應(yīng)該另外設(shè)置一個(gè)退出標(biāo)記(如果需要控制線程的運(yùn)行與否的話)。

希望通過本文的介紹,能夠給你帶來幫助。

責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2024-04-29 09:06:46

線程初始化源碼

2010-03-15 19:02:25

Java編程語言

2010-07-13 13:06:41

Perl面向?qū)ο?/a>

2010-09-17 10:53:45

Java運(yùn)行環(huán)境

2009-09-14 15:12:40

LINQ to XML

2010-05-25 12:59:00

Subversion

2009-09-27 17:13:36

Hibernate V

2011-06-03 13:48:18

JavaScript重構(gòu)

2010-06-03 13:08:51

2009-07-06 10:44:45

JSP charset

2010-10-08 15:17:47

JavaScriptJava

2009-09-28 14:54:33

Hibernate映射

2010-06-17 14:35:03

設(shè)計(jì)模式 UML

2010-07-07 10:23:31

UML建模

2010-01-26 17:53:30

Android代碼結(jié)構(gòu)

2010-05-27 10:23:01

SVN文檔

2010-06-30 16:00:01

FTP協(xié)議

2010-06-12 14:35:46

UML對象圖

2009-09-25 09:36:55

Hibernate核心

2010-08-04 13:52:53

Flex事件機(jī)制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩一区二区在线视频 | 九色 在线 | 久久久久久女 | 国产精品久久久久久久久久不蜜臀 | 欧美三区在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 国产成人精品免费视频 | 国产精品美女久久久久久不卡 | 精品成人av | 黄视频网址 | 人人叉 | 91国内视频在线 | 日本一二三区在线观看 | 亚洲激精日韩激精欧美精品 | www.4567 | 日韩免费一区二区 | 不卡视频在线 | 国产精品久久久久久久久久久免费看 | 久在线| 天天夜夜人人 | 一区二区三区不卡视频 | 91精品久久久久久久久中文字幕 | 国产精品高清在线 | 911网站大全在线观看 | 99久久久国产精品免费消防器 | 精品欧美色视频网站在线观看 | 亚洲国产69| 日韩不卡视频在线观看 | 99色综合| 国产精品伦理一区二区三区 | 久久69精品久久久久久久电影好 | 亚洲欧洲一区二区 | 国产精品视频久久 | 亚洲精品乱码久久久久久蜜桃 | 四虎永久免费黄色影片 | 91社区在线观看播放 | 阿v视频在线观看 | 在线黄av | av资源在线看 | 亚洲91精品| 国产999精品久久久久久 |