java并發(fā)編程學(xué)習(xí)---之一

開始學(xué)習(xí)java也有一段時(shí)間了,一些基礎(chǔ)的書也掃了一遍了(think in java/core java volume 1)。最近慢慢開始看<concurrent programming in java>和<Effective java>,后者的話和<Effective C++>有類似之處,都是一些編程經(jīng)驗(yàn)的item, 編程的世界里好多的東西都是相同的。

由于之前的話是做C++ client端的編程,一個(gè)application直接在一個(gè)process里完成的,沒(méi)有接觸到thread相關(guān)的知識(shí)(相關(guān)的同步,鎖都是在UNIX環(huán)境高級(jí)編程里學(xué)習(xí)過(guò)),最近的工作又是直接基于erlang的編程,其天生為高并發(fā)而生所以一般都是每個(gè)請(qǐng)求直接spawn一個(gè)process, process之間的信息交互又是基于語(yǔ)言級(jí)別的message queue實(shí)現(xiàn)的,所以很少接觸到鎖、同步的問(wèn)題。

看<concurrent programming in java>感覺自己又回到了好多年前看<Unix 環(huán)境高級(jí)編>的時(shí)候?;貞浧鸶鞣NIPC和鎖的知識(shí)了。言歸正傳,由于其作者Doug Lea是并發(fā)編程的大牛同時(shí)也是java concurrent包的作者所以你會(huì)看到很多優(yōu)秀的編碼習(xí)慣,這個(gè)系列的話主要摘抄一些好的代碼和編碼習(xí)慣,作為日后的寶典:

ch1/ParticleCanvas.java

for (int i = 0; i < ps.length; ++i) {
    ps[i].draw(g);
}

關(guān)于++i的優(yōu)勢(shì)記得是在一本Effective類的書里看到的,但是自己寫代碼的時(shí)候很容易寫成i++, 之所以摘抄這一條完全是為了警示自己。

ch1/ParticleApplet.java

public synchronized void stop() {
    if (threads != null) {
        for (int i = 0; i > threads.length; ++i) {
            threads[i].interrupt();
            threads[i] = null;
        }
    }
} 

這里其實(shí)是對(duì)<Effective Java> item 6的最佳實(shí)踐,threads[i].interrupt();之后該對(duì)象已經(jīng)變成一個(gè)過(guò)期的引用了,此時(shí)就應(yīng)該清空這個(gè)引用。

<END>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光劍書架上的書閱讀 4,183評(píng)論 2 8
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,899評(píng)論 0 33
  • 面試時(shí)代美術(shù)館的項(xiàng)目實(shí)習(xí)生 被要求英語(yǔ)自我介紹,然而并沒(méi)有準(zhǔn)備。 草草兩句話講完,磕磕巴巴,詞匯都沒(méi)想起來(lái)?;卮饐?wèn)...
    霽青閱讀 163評(píng)論 0 0
  • 最近網(wǎng)上對(duì)于《王者榮耀》的議論越多來(lái)越多,支持派覺得這是一款很有意思的MOBA游戲,并且成功帶動(dòng)了自己不愛打游戲的...
    一只大圣閱讀 244評(píng)論 0 1
  • 一個(gè)人徘徊在醫(yī)院的走廊,心里憋的慌,想哭,沒(méi)哭。 生活有一種太過(guò)極致的孤獨(dú),你不能說(shuō),也不能做,就是撕開自己的傷口...
    Amelody_s閱讀 195評(píng)論 0 0

友情鏈接更多精彩內(nèi)容