240 發(fā)簡信
IP屬地:甘肅
  • 120
    iOS即時通訊進(jìn)階 - CocoaAsyncSocket源碼解析(Connect篇終)

    前言: 本文承接自上篇:iOS即時通訊進(jìn)階 - CocoaAsyncSocket源碼解析(Connect篇) 注:文中涉及代碼比較多钝的,建議大家結(jié)合源碼一起閱讀比較容易能加深理...

  • @李鼎

    在五一前最后一天工作日早上摸魚之際看到簡書消息阁将,受到您的認(rèn)可意述,我個人是很開心的浴栽,關(guān)于您的邀請我思索了一下還是決定拒絕,原因大概有下面幾點

    1. 又再看了一些源碼涎劈,發(fā)現(xiàn)已經(jīng)提供了TtlExecutors與相關(guān)ExecutorService實現(xiàn)線程池包裝广凸,其中由于subit(Runnable)每次都會包裝新的TtlRunnable對象,會出發(fā)即時的現(xiàn)場數(shù)據(jù)抓取蛛枚,因此前面提到的功能思考在部分使用用法中已經(jīng)conver了谅海,那么剩余問題就變成了對于重復(fù)使用的TtlRunnable如何處理,那么也很簡單蹦浦,在構(gòu)造函數(shù)中提供外部可管理的 new AtomRerence(capture)就好扭吁,比如在構(gòu)造函數(shù)中加參數(shù)。總之預(yù)想中實現(xiàn)并不復(fù)雜侥袜,但問題應(yīng)該不會這樣簡單蝌诡,基礎(chǔ)庫應(yīng)該考慮到使用者的心智負(fù)擔(dān)和兼容性,如果貿(mào)然提供與之前使用邏輯不一致的能力枫吧,很可能引發(fā)誤用浦旱,導(dǎo)致口碑下滑,由于目前對線程池包裝對重新生成TtlRunnable對象做組織九杂,是直接復(fù)用該對象的颁湖,如果貿(mào)然更改可能導(dǎo)致歷史使用用法中ThreadLocal數(shù)據(jù)發(fā)生與預(yù)期不一致的變化,比如有些人在另一個與創(chuàng)建TtlRunnable時無關(guān)的子線程去submit例隆,此時數(shù)據(jù)一定會變化甥捺,這樣就可能造成人家業(yè)務(wù)方功能異常《撇悖總之涎永,如何兼容是個問題,需要耗費想法去思考解決
    2. 在分析問題后鹿响,為啥我不愿意行動呢,原因可能比較奇葩谷饿,我本人的背景并不是java服務(wù)惶我,坦白講對于您這個庫的核心使用場景我是缺乏具體體會的,前面提到的使用場景兼容性問題我預(yù)計就會有些思路門檻博投。另外绸贡,我個人對于這個庫總共也就看了個把小時,看的過程目標(biāo)也只是分析主干內(nèi)容學(xué)習(xí)精髓毅哗,目前還沒有深入該庫的打算听怕,作為android開發(fā)背景,在我的認(rèn)知中這個庫的使用場景確實有限虑绵,對于我應(yīng)該不值得投入過量的精力尿瞭。最主要的還是我近期是在做系統(tǒng)性的知識復(fù)習(xí),本身缺乏時間翅睛,五一也有其他安排声搁,因此對于您的好意我目前只能表示抱歉

    感謝您的贊賞,我本人也非常開心能與開源作者進(jìn)行溝通

    TransmittableThreadLocal詳解

    1捕发、簡介 TransmittableThreadLocal 是Alibaba開源的疏旨、用于解決 “在使用線程池等會緩存線程的組件情況下傳遞ThreadLocal” 問題的 In...

  • 另外個人覺得,在構(gòu)造ttlrunnable對象的時候就收集現(xiàn)場數(shù)據(jù)時機(jī)有點早扎酷,應(yīng)該還是submit的時候收集數(shù)據(jù)最好檐涝。runnable可能有復(fù)用場景,tl.set方法按理說在submit前面用應(yīng)該比較常見。(當(dāng)然我并不是站在適配現(xiàn)有工程實現(xiàn)的角度谁榜,硬要說的話幅聘,字節(jié)碼操作也能換掉)

    TransmittableThreadLocal詳解

    1、簡介 TransmittableThreadLocal 是Alibaba開源的惰爬、用于解決 “在使用線程池等會緩存線程的組件情況下傳遞ThreadLocal” 問題的 In...

  • 我倒是覺得精髓在AtomReference保存thread內(nèi)的threadlocalmap中部分?jǐn)?shù)據(jù)作為現(xiàn)場快照這里喊暖。holder只是一個當(dāng)前線程中threadlocalmap部分key的保存容器,源碼里還有從register里自定義的threadlocal可注冊撕瞧,他本質(zhì)上是在決定需要抓取哪些現(xiàn)場數(shù)據(jù)陵叽,只是實現(xiàn)方式是通過了一個全局的inherentthreadlocal作為收納threadlocalmap key的容器,實現(xiàn)了在set數(shù)據(jù)時自動登記丛版,從而避免手動關(guān)聯(lián)(例如避免了構(gòu)造ttlrunable時主動將關(guān)心的ttl對象綁定到上面)巩掺,這是一個優(yōu)雅實現(xiàn),但核心還在是在跨線程分享快照數(shù)據(jù)這里页畦,只有能跨線程保存數(shù)據(jù)胖替,才能重新布置現(xiàn)場并恢復(fù)現(xiàn)場

    TransmittableThreadLocal詳解

    1、簡介 TransmittableThreadLocal 是Alibaba開源的豫缨、用于解決 “在使用線程池等會緩存線程的組件情況下傳遞ThreadLocal” 問題的 In...

  • HttpURLConnection 使用總結(jié)

    要使用 HttpURLConnection,最好對一些基礎(chǔ)概念有所認(rèn)識舍败,比如 TCP/IP 協(xié)議招狸,HTTP 報文, Socket 等邻薯。先談一些我的認(rèn)識裙戏,有可能不完全正確: S...

  • 一個是Callback中的handleMessage,一個是Handler中的handleMessage厕诡,肯定調(diào)用不到啊

個人介紹
此處只是個人學(xué)習(xí)的記錄比藻,很少有單純面向他人的學(xué)習(xí)引導(dǎo),望周知倘屹。
亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品