240 發(fā)簡(jiǎn)信
IP屬地:貴州
  • Kotlin 委托函數(shù)之lazy

    Kotlin 標(biāo)準(zhǔn)庫(kù)為幾種有用的委托提供了工廠方法。 延遲屬性(lazy properties): 其值只在首次訪(fǎng)問(wèn)時(shí)計(jì)算画髓; 可觀察屬性(observable propert...

  • 120
    java并發(fā)(3)內(nèi)存模型

    基礎(chǔ)知識(shí) 并發(fā)編程引發(fā)的問(wèn)題 并發(fā)編程需要關(guān)注兩個(gè)問(wèn)題. 線(xiàn)程之間是如何通信的? 線(xiàn)程之間是如何同步數(shù)據(jù)的? 在現(xiàn)有的通信機(jī)制中, 有兩大類(lèi). 共享內(nèi)存 和 消息傳遞. 進(jìn)程...

  • java并發(fā)(2)線(xiàn)程詳解

    什么是線(xiàn)程 線(xiàn)程(thread) 是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中坎穿,是進(jìn)程中的實(shí)際運(yùn)作單位尼斧。一條線(xiàn)程指的是進(jìn)程中一個(gè)單一順序的控制流霜旧,一個(gè)進(jìn)程中可以并...

  • 120
    java并發(fā)(1)線(xiàn)程模型

    進(jìn)程與線(xiàn)程 什么是進(jìn)程 進(jìn)程(Process) 是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)冯吓,是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)令漂。 在當(dāng)代面向線(xiàn)程設(shè)計(jì)...

  • 有點(diǎn)問(wèn)題啊.
    在下載是,斷網(wǎng)了3次,就不能下載了,一直在onWait方法里
    當(dāng)出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤超過(guò)3次,超過(guò)了線(xiàn)程池的核心任務(wù)數(shù)之后,就會(huì)出現(xiàn)一直出現(xiàn)onWait,不會(huì)繼續(xù)下載了
    原因是因?yàn)樵贔ileTask里,循環(huán)沒(méi)有退出,
    while (tempChildTaskCount < childTaskCount) {
    //由于每個(gè)文件采用多個(gè)異步操作進(jìn)行膝昆,發(fā)起多個(gè)異步操作后該線(xiàn)程已經(jīng)結(jié)束,但對(duì)應(yīng)文件并未下載完成叠必,
    //則會(huì)出現(xiàn)線(xiàn)程池中同時(shí)下載的文件數(shù)量超過(guò)設(shè)定的核心線(xiàn)程數(shù)荚孵,所以考慮只有當(dāng)前線(xiàn)程的所有異步任務(wù)結(jié)束后,
    //才能使結(jié)束當(dāng)前線(xiàn)程挠唆。
    }
    這里沒(méi)跳出去,線(xiàn)程一直結(jié)束不了.
    應(yīng)該在startSaveRangeFile方法里,將
    ...
    } finally {
    Utils.close(saveRandomAccessFile);
    Utils.close(saveChannel);
    Utils.close(inputStream);
    Utils.close(tempRandomAccessFile);
    Utils.close(tempChannel);
    Utils.close(response);
    addCount(); //放在這里計(jì)數(shù).
    }

    將addCount放在finally里面計(jì)數(shù)

    而且,將tempChildTaskCount用volatile修飾.
    光加同步鎖還是會(huì)出現(xiàn)tempChildTaskCount沒(méi)有被更新的情況,導(dǎo)致循環(huán)跳不出.

    追了幾天,終于解決了這個(gè)bug:sob:

  • Android枚舉實(shí)現(xiàn)Parcelable接口

    枚舉類(lèi)實(shí)現(xiàn)Parcelable的寫(xiě)法如下: 當(dāng)枚舉類(lèi)為一個(gè)類(lèi)的成員變量处窥,并且該類(lèi)也要實(shí)現(xiàn)Parcelable接口時(shí),則先讓枚舉類(lèi)實(shí)現(xiàn)Parcelable接口玄组,

  • 120
    喬峰贊.聚賢莊

    ——徐宏亮 原創(chuàng) 江湖人稱(chēng)北喬峰滔驾, 盛名之下無(wú)虛士; 降虎擒龍?zhí)嫒?天下英雄莫能擋俄讹。 明知虎穴吾偏往哆致, 單刀赴宴會(huì)群英; 男兒重義輕生死患膛, 血濺當(dāng)場(chǎng)何所懼摊阀? 今日飲酒斷恩...

  • Android實(shí)現(xiàn)抖音心形函數(shù)

    刷抖音的時(shí)候,無(wú)意間刷到 心形函數(shù)的動(dòng)畫(huà),覺(jué)得很有意思, 就簡(jiǎn)單的用Android的方式實(shí)現(xiàn)了一下. 心形函數(shù)公式 公式 : X的取值范圍:[-1.81,1.81],該取值范...

  • 120
    深入理解Java動(dòng)態(tài)代理

    代理模式 使用代理模式創(chuàng)建代理對(duì)象,讓代理對(duì)象來(lái)控制對(duì)某個(gè)對(duì)象的訪(fǎng)問(wèn), 被代理對(duì)象可以是遠(yuǎn)程對(duì)象,創(chuàng)建開(kāi)銷(xiāo)大的對(duì)象或者需要安全控制的對(duì)象等. Proxy 稱(chēng)為代理對(duì)象.Rea...

  • Java反射知識(shí)重拾

    什么是反射 Reflection is a feature in the Java programming language. It allows an executing ...

  • Butterknife深入理解之自己動(dòng)手編寫(xiě)B(tài)utterknife

    Demo的源碼地址在 mini-butterknife, 有興趣的可以下載源碼來(lái)看. Butterknife 框架介紹 butterknife是一款View注入的框架,在an...

  • N-API整理

    一, 函數(shù)管理 提供了一組方法发钝,來(lái)實(shí)現(xiàn)C++方法被調(diào)用 和 去調(diào)用js方法的功能 1.調(diào)用JavaScript方法 example 2.創(chuàng)建JavaScript方法 該函數(shù)創(chuàng)...

  • Android中Message對(duì)象復(fù)用原理

    Android 中 Message的應(yīng)用 Message 在Android中主要是在 消息循環(huán)機(jī)制 中使用,即配合 Handler,Looper和MessageQueue來(lái)進(jìn)...

  • Rxjava深入理解之自己動(dòng)手編寫(xiě)Rxjava

    Demo的源碼地址在 mini-rxjava, 有興趣的可以下載源碼來(lái)看. 從觀察者模式說(shuō)起 觀察者模式,是我們?cè)谄綍r(shí)使用的比較多的一種設(shè)計(jì)模式.觀察者模式定義了一種一對(duì)多的...

  • Java使用位域進(jìn)行多標(biāo)記(狀態(tài))管理

    Android中位域的應(yīng)用 在Android中,我們會(huì)經(jīng)常用到或者看到以下這樣的代碼 : 通過(guò)一個(gè) int字段,來(lái)添加多個(gè) 標(biāo)志或者狀態(tài). 一個(gè)int字段,能夠管理多個(gè)標(biāo)記(...

  • 淺談C++異步

    頭文件 #include<future> 顿涣,在Linux下需要添加 -lpthread 參數(shù) std::async 本質(zhì)上是創(chuàng)建一個(gè)線(xiàn)程波闹,使用傳遞的任務(wù)方法在線(xiàn)程中運(yùn)行酝豪, 通...

  • 泛型與模版的應(yīng)用

    泛型編程即以一種獨(dú)立于任何特定類(lèi)型的方式編寫(xiě)代碼涛碑。 模板類(lèi)型 一,模板參數(shù) 指定形式參數(shù)類(lèi)型和返回參數(shù)類(lèi)型, 模板參數(shù)不允許自動(dòng)類(lèi)型轉(zhuǎn)換 二孵淘,模板函數(shù) 1.隱式指定 2.顯式...

  • java泛型 通配符詳解及實(shí)踐

    對(duì)于泛型的原理和基礎(chǔ),可以參考筆者的上一篇文章java泛型,你想知道的一切 一個(gè)問(wèn)題代碼 觀察以下代碼 : 上述代碼中,在調(diào)用print函數(shù)時(shí),產(chǎn)生了編譯錯(cuò)誤 require...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品