【連載】第1章-1.4線程無(wú)處不在

格言:在程序猿界混出點(diǎn)名堂!

《JAVA并發(fā)編程實(shí)戰(zhàn)》解讀
【連載】第1章-1.4線程無(wú)處不在

回顧:在1.3中介紹了,線程帶來(lái)的風(fēng)險(xiǎn)鲜滩,包括安全性問(wèn)題、活躍性問(wèn)題還有性能問(wèn)題节值,這一小節(jié)講的是線程無(wú)處不在徙硅。

每個(gè)JAVA應(yīng)用程序都會(huì)使用線程。

當(dāng)JVM啟動(dòng)后搞疗,為JVM內(nèi)部任務(wù)(比如垃圾回收器)創(chuàng)建后臺(tái)線程嗓蘑,并創(chuàng)建一個(gè)主線程來(lái)運(yùn)行main方法∧淠耍可以使用jstack的監(jiān)控工具打印堆棧日志查看桩皿,我只寫了一個(gè)main方法啟動(dòng),可以看到有很多的JVM線程幢炸。

"main" #1 prio=5 os_prio=31 tid=0x00007f9f3c801800 nid=0x2803 waiting on condition [0x000070000d152000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at cn.kazz.RunOneTask.main(RunOneTask.java:8)

"VM Thread" os_prio=31 tid=0x00007f9f3c83e800 nid=0x5103 runnable 

"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007f9f3c800800 nid=0x2007 runnable 

"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81d000 nid=0x2103 runnable 

"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81d800 nid=0x5403 runnable 

"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007f9f3c81e000 nid=0x2b03 runnable 

"VM Periodic Task Thread" os_prio=31 tid=0x00007f9f3b00a000 nid=0x3a03 waiting on condition 

多數(shù)Java應(yīng)用程序都是多線程

多少Java應(yīng)用程序都是多線程泄隔,使用時(shí)需要對(duì)應(yīng)用程序的狀態(tài)(比如內(nèi)存變量)的訪問(wèn)進(jìn)行協(xié)同
而且一些框架引入了并發(fā)性時(shí)宛徊,通常并發(fā)性不僅局限于框架代碼佛嬉。比如下面提到的這些。

  • Timer
    Java的工具闸天,作用是在稍后的片刻運(yùn)行暖呕,或者運(yùn)行一次或者周期性運(yùn)行。
    帶來(lái)的問(wèn)題是周期性運(yùn)行可能改變其他線程訪問(wèn)的共享數(shù)據(jù)苞氮。也就是說(shuō)Timer本身就是一個(gè)線程湾揽,可能存在不安全的操作,最簡(jiǎn)單的方式解決這種不安全就是把線程安全封裝在共享對(duì)象內(nèi)部葱淳。AtomicInteger就是很好的安全封裝的例子钝腺。

  • Servlet和JSP
    Servlet框架屬于Web應(yīng)用程序。有可能同一個(gè)Servlet服務(wù)同時(shí)被多個(gè)客戶端調(diào)用赞厕,也就是多線程調(diào)用艳狐,因此也需要注意線程安全的問(wèn)題。

  • 遠(yuǎn)程方法調(diào)用
    就是RMI皿桑,跟Dubbo毫目、Thrift等框架類似蔬啡,這些框架跟Servlet一樣,也可以被多個(gè)客戶端調(diào)用镀虐,存在訪問(wèn)共享變量的安全性問(wèn)題箱蟆,對(duì)共享變量也要協(xié)同共享對(duì)象的狀態(tài)。

知識(shí)點(diǎn)

  1. 了解這些多線程的框架來(lái)體會(huì)多線程可能帶來(lái)的非安全性問(wèn)題刮便。

喜歡連載可關(guān)注簡(jiǎn)書或者微信公眾號(hào)
簡(jiǎn)書專題:Java并發(fā)編程實(shí)戰(zhàn)-可愛豬豬解讀
http://www.reibang.com/c/ac717321a386
微信公眾號(hào):逗哥聊IT空猜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恨旱,隨后出現(xiàn)的幾起案子辈毯,更是在濱河造成了極大的恐慌,老刑警劉巖搜贤,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谆沃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡仪芒,警方通過(guò)查閱死者的電腦和手機(jī)唁影,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掂名,“玉大人据沈,你說(shuō)我怎么就攤上這事∶” “怎么了卓舵?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵南用,是天一觀的道長(zhǎng)膀钠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)裹虫,這世上最難降的妖魔是什么肿嘲? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮筑公,結(jié)果婚禮上雳窟,老公的妹妹穿的比我還像新娘。我一直安慰自己匣屡,他們只是感情好封救,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捣作,像睡著了一般誉结。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上券躁,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天惩坑,我揣著相機(jī)與錄音掉盅,去河邊找鬼。 笑死以舒,一個(gè)胖子當(dāng)著我的面吹牛趾痘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蔓钟,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼永票,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了滥沫?” 一聲冷哼從身側(cè)響起瓦侮,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎佣谐,沒(méi)想到半個(gè)月后肚吏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狭魂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年罚攀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雌澄。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斋泄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镐牺,到底是詐尸還是另有隱情炫掐,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布睬涧,位于F島的核電站募胃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏畦浓。R本人自食惡果不足惜痹束,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讶请。 院中可真熱鬧祷嘶,春花似錦、人聲如沸夺溢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)风响。三九已至嘉汰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钞诡,已是汗流浹背郑现。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工湃崩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人接箫。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辛友,于是被迫代替她去往敵國(guó)和親薄扁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自陳明乾的博客废累,可能有一定更新。 轉(zhuǎn)原文聲明:原創(chuàng)作品掖看,允許轉(zhuǎn)載匣距,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、...
    C86guli閱讀 4,700評(píng)論 6 72
  • JAVA面試題 1哎壳、作用域public,private,protected,以及不寫時(shí)的區(qū)別答:區(qū)別如下:作用域 ...
    JA尐白閱讀 1,158評(píng)論 1 0
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,814評(píng)論 0 11
  • JAVA相關(guān)基礎(chǔ)知識(shí) 1毅待、面向?qū)ο蟮奶卣饔心男┓矫?1.抽象: 抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以...
    yangkg閱讀 667評(píng)論 0 1
  • 下面是利用原子讀寫操作的兩種算法 在下面的算法中對(duì)數(shù)據(jù)的讀寫都是原子的 算法一兩段程序如下:(1) (2) 這個(gè)解...
    Fruit_初閱讀 332評(píng)論 0 0