99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ThreadLocal是什么

jf_ro2CN3Fa ? 來(lái)源:CSDN ? 2023-01-30 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


ThreadLocal是什么

ThreadLocal是一個(gè)本地線程副本變量工具類(lèi)。主要用于將私有線程和該線程存放的副本對(duì)象做一個(gè)映射,各個(gè)線程之間的變量互不干擾,在高并發(fā)場(chǎng)景下,可以實(shí)現(xiàn)無(wú)狀態(tài)的調(diào)用,特別適用于各個(gè)線程依賴(lài)不通的變量值完成操作的場(chǎng)景。

下圖為T(mén)hreadLocal的內(nèi)部結(jié)構(gòu)圖

931b2958-9fb9-11ed-bfe3-dac502259ad0.png

從上面的結(jié)構(gòu)圖,我們已經(jīng)窺見(jiàn)ThreadLocal的核心機(jī)制:

  • 每個(gè)Thread線程內(nèi)部都有一個(gè)Map。
  • Map里面存儲(chǔ)線程本地對(duì)象(key)和線程的變量副本(value)
  • 但是,Thread內(nèi)部的Map是由ThreadLocal維護(hù)的,由ThreadLocal負(fù)責(zé)向map獲取和設(shè)置線程的變量值。

所以對(duì)于不同的線程,每次獲取副本值時(shí),別的線程并不能獲取到當(dāng)前線程的副本值,形成了副本的隔離,互不干擾。

基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶(hù)小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶(hù)、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

ThreadLocalMap

932a8d58-9fb9-11ed-bfe3-dac502259ad0.png

ThreadLocalMap是ThreadLocal的內(nèi)部類(lèi),沒(méi)有實(shí)現(xiàn)Map接口,用獨(dú)立的方式實(shí)現(xiàn)了Map的功能,其內(nèi)部的Entry也獨(dú)立實(shí)現(xiàn)。

和HashMap的最大的不同在于,ThreadLocalMap結(jié)構(gòu)非常簡(jiǎn)單,沒(méi)有next引用,也就是說(shuō)ThreadLocalMap中解決Hash沖突的方式并非鏈表的方式,而是采用線性探測(cè)的方式。(ThreadLocalMap如何解決沖突?

在ThreadLocalMap中,也是用Entry來(lái)保存K-V結(jié)構(gòu)數(shù)據(jù)的。但是Entry中key只能是ThreadLocal對(duì)象,這點(diǎn)被Entry的構(gòu)造方法已經(jīng)限定死了。

staticclassEntryextendsWeakReference<ThreadLocal>{
/**ThevalueassociatedwiththisThreadLocal.*/
Objectvalue;

Entry(ThreadLocalk,Objectv){
super(k);
value=v;
}
}

注意了??!

Entry繼承自WeakReference(弱引用,生命周期只能存活到下次GC前),但只有Key是弱引用類(lèi)型的,Value并非弱引用。(問(wèn)題馬上就來(lái)了)

由于ThreadLocalMap的key是弱引用,而Value是強(qiáng)引用。這就導(dǎo)致了一個(gè)問(wèn)題,ThreadLocal在沒(méi)有外部對(duì)象強(qiáng)引用時(shí),發(fā)生GC時(shí)弱引用Key會(huì)被回收,而Value不會(huì)回收。

當(dāng)線程沒(méi)有結(jié)束,但是ThreadLocal已經(jīng)被回收,則可能導(dǎo)致線程中存在ThreadLocalMap的鍵值對(duì),造成內(nèi)存泄露。(ThreadLocal被回收,ThreadLocal關(guān)聯(lián)的線程共享變量還存在)。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶(hù)小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶(hù)、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/yudao-cloud
  • 視頻教程:https://doc.iocoder.cn/video/

如何避免泄漏

為了防止此類(lèi)情況的出現(xiàn),我們有兩種手段。

1、使用完線程共享變量后,顯示調(diào)用ThreadLocalMap.remove方法清除線程共享變量;

既然Key是弱引用,那么我們要做的事,就是在調(diào)用ThreadLocal的get()、set()方法時(shí)完成后再調(diào)用remove方法,將Entry節(jié)點(diǎn)和Map的引用關(guān)系移除,這樣整個(gè)Entry對(duì)象在GC Roots分析后就變成不可達(dá)了,下次GC的時(shí)候就可以被回收。

2、JDK建議ThreadLocal定義為private static,這樣ThreadLocal的弱引用問(wèn)題則不存在了。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    614

    瀏覽量

    28967
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    508

    瀏覽量

    20236
  • Thread
    +關(guān)注

    關(guān)注

    2

    文章

    89

    瀏覽量

    26610

原文標(biāo)題:ThreadLocal 搭配線程池使用造成內(nèi)存泄漏的原因和解決方案

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    半年凈利暴漲擬超100%!國(guó)產(chǎn)芯片在GPU之外淘金AI

    電子發(fā)燒友網(wǎng)報(bào)道(文 / 吳子鵬)2025 年 AI 熱潮持續(xù)高漲,技術(shù)突破與商業(yè)化進(jìn)程的加速推動(dòng)其滲透至社會(huì)各領(lǐng)域,形成多維度、深層次的變革力量。在這個(gè)大背景下,資本繼續(xù)大力投入 AI 領(lǐng)域。統(tǒng)計(jì)數(shù)據(jù)顯示,2025 年全球人工智能市場(chǎng)規(guī)模將達(dá)到 2.3 萬(wàn)億元,同比增長(zhǎng) 38%;2025 年中國(guó)人工智能市場(chǎng)規(guī)模將超 7000 億元。 ? AI 行情持續(xù)火熱,也帶動(dòng)了相關(guān)芯片業(yè)務(wù)。以瀾起科技為例,日前該公司發(fā)布 2025 年半年度業(yè)績(jī)預(yù)增的自愿性披露公告。公告顯示,經(jīng)
    的頭像 發(fā)表于 07-20 11:05 ?2918次閱讀

    什么是SMD&amp;NSMD,怎么區(qū)分呢?

    好的產(chǎn)品設(shè)計(jì)是系統(tǒng)性工程,需在?**功能邏輯?(解決核心問(wèn)題)和 ?商業(yè)可持續(xù)?(成本與量產(chǎn)性)**之間找到精準(zhǔn)平衡點(diǎn)。 電子產(chǎn)品設(shè)計(jì)階段雖僅占總開(kāi)發(fā)成本的10%-15%,卻決定了70%-80%的全生命周期成本和質(zhì)量表現(xiàn),例如SMD&NSMD的選擇就是如此! 什么是SMD和NSMD焊盤(pán)? 1)SMD焊盤(pán): 阻焊定義焊盤(pán)尺寸(Solder Mask Defined Land Pattern),阻焊開(kāi)窗比焊盤(pán)小,F(xiàn)PC中俗稱(chēng)壓PAD設(shè)計(jì)。 2)NSMD焊盤(pán): 銅箔定義焊盤(pán)尺寸(Non Solder Mask Defined Land Pattern or Copper Defined Land Pattern),也叫非阻焊膜定義焊盤(pán),阻焊開(kāi)窗比焊盤(pán)大,F(xiàn)PC中俗稱(chēng)不壓PAD設(shè)計(jì)。 SMD和NSMD的焊點(diǎn)拉力 焊點(diǎn)拉力指錫膏與焊盤(pán)的結(jié)合力。 SMD焊盤(pán)銅箔面積雖然大,但周?chē)蛔韬改じ采w,僅有一面參與焊接。而相同焊盤(pán)尺寸的情況下,因NSMD銅箔的四周也參與焊接,相當(dāng)于有三面都參與焊接, 焊接面積要大于SMD ,因此焊點(diǎn)的強(qiáng)度大一些。 但在PCB或FPC蝕刻生產(chǎn)過(guò)程中, NSMD焊盤(pán)比較獨(dú)立,容易過(guò)蝕或側(cè)蝕 ,需要考慮對(duì)焊盤(pán)進(jìn)行合理補(bǔ)償,否則會(huì)導(dǎo)致焊盤(pán)偏小,也會(huì)影響焊點(diǎn)強(qiáng)度及焊盤(pán)拉力。 SMD和NSMD的焊盤(pán)拉力 焊盤(pán)拉力指元件焊接后與PCB或FPC基材的結(jié)合力。 SMD焊盤(pán)本身銅箔面積大,雖然露出來(lái)的面積與NSMD焊盤(pán)相同,但實(shí)際與基材接觸的面積大很多, 所以SMD焊盤(pán)與基材的結(jié)合力要遠(yuǎn)比NSMD焊盤(pán)好 ,焊盤(pán)與基材比較牢固,焊盤(pán)不容易脫落。 FPC是用覆蓋膜做為阻焊膜,如果用SMD焊盤(pán)設(shè)計(jì),覆蓋膜能壓住焊盤(pán)周?chē)?俗稱(chēng)壓PAD設(shè)計(jì) ,這樣會(huì)使焊盤(pán)與基材更加牢固。 SMD和NSMD優(yōu)缺點(diǎn) 如何決定使用哪一種焊盤(pán) 1)PCB優(yōu)先使用NSMD焊盤(pán) ,但BGA及微小焊盤(pán),如小于0201封裝,建議使用SMD焊盤(pán),防止返修時(shí)焊盤(pán)與基材剝離脫落。 2)FPC優(yōu)先使用SMD焊盤(pán) ,阻焊膜可以壓住焊盤(pán)四周,走到支撐焊盤(pán)強(qiáng)度的作用,防止焊盤(pán)脫落。
    發(fā)表于 07-20 15:42

    【「DeepSeek 核心技術(shù)揭秘」閱讀體驗(yàn)】第三章:探索 DeepSeek - V3 技術(shù)架構(gòu)的奧秘

    一、模型架構(gòu) 在閱讀第三章關(guān)于 DeepSeek 的模型架構(gòu)部分時(shí),我仿佛打開(kāi)了一扇通往人工智能核心構(gòu)造的大門(mén)。從架構(gòu)圖中,能清晰看到 Transformer 塊、前饋神經(jīng)網(wǎng)絡(luò)、注意力機(jī)制等模塊的協(xié)同運(yùn)作 。這些組件并非孤立存在,而是像精密齒輪般相互咬合,構(gòu)建起 DeepSeek 的運(yùn)行基礎(chǔ)。 前饋神經(jīng)網(wǎng)絡(luò)的信息傳遞、注意力機(jī)制對(duì)關(guān)鍵內(nèi)容的聚焦,讓我理解到模型是如何對(duì)輸入進(jìn)行層層處理,從海量數(shù)據(jù)中挖掘有價(jià)值信息,這也讓我意識(shí)到架構(gòu)設(shè)計(jì)對(duì)模型性能起著根本性作用,是 AI 具備強(qiáng)大能力的 “骨骼” 支撐。 二、流水線并行 書(shū)中關(guān)于流水線并行的內(nèi)容,展現(xiàn)了提升計(jì)算效率的巧妙思路。簡(jiǎn)單流水線并行雖存在資源利用率不高的問(wèn)題,但它是基礎(chǔ)探索,讓 我看到將模型分段處理以實(shí)現(xiàn)流水線作業(yè)的初步嘗試。 而 GPipe 方法的改進(jìn),通過(guò)微批次處理減少并行氣泡,如同給流水線 “疏通血管”,讓計(jì)算設(shè)備的閑置時(shí)間減少,數(shù)據(jù)處理更流暢。這讓我聯(lián)想到工業(yè)生產(chǎn)中的流水線,AI 訓(xùn)練在此處借鑒類(lèi)似思路,通過(guò)優(yōu)化任務(wù)分配和流程,突破硬件限制,追求更高效率,體現(xiàn)了技術(shù)發(fā)展中持續(xù)優(yōu)化、突破瓶頸的智慧。 三、細(xì)粒度量化 細(xì)粒度量化的講解,讓我接觸到 AI 模型在精度和效率間尋求平衡的關(guān)鍵技術(shù)。不同量化方法,如 per tensor、per token 等,針對(duì)數(shù)據(jù)不同部分采用精細(xì)策略,就像給模型數(shù)據(jù) “量身定制” 壓縮方案,在降低計(jì)算資源消耗的同時(shí),努力減少精度損失。 這背后反映的是 AI 技術(shù)發(fā)展中一個(gè)重要命題:如何在有限硬件條件下,讓模型既跑得快(效率高)又跑得穩(wěn)(精度夠),這種平衡藝術(shù),彰顯了技術(shù)研發(fā)的細(xì)膩與深度,也讓我明白追求極致性能需要在諸多矛盾中找到精妙的平衡點(diǎn)。 四、Transformer 中的 MoE Transformer 中的 MoE 部分,呈現(xiàn)了模塊創(chuàng)新帶來(lái)的機(jī)遇與困境。將 MoE 思想融入 Transformer,通過(guò)替換 FFN 層、多機(jī)多卡訓(xùn)練等策略,試圖拓展模型能力??吹侥P腿萘恳?qū)<覕?shù)量增加而擴(kuò)展,能處理更復(fù)雜任務(wù),讓我感受到創(chuàng)新的潛力。但同時(shí),通信成本高、訓(xùn)練穩(wěn)定性不足等問(wèn)題,又像橫在發(fā)展路上的巨石,提醒我技術(shù)創(chuàng)新并非坦途,新架構(gòu)在帶來(lái)優(yōu)勢(shì)的同時(shí),也會(huì)伴隨新挑戰(zhàn)。 五、小結(jié) 讀完第三章,DeepSeek - V3 的技術(shù)剖析讓我從架構(gòu)、效率優(yōu)化、精度平衡到模塊創(chuàng)新,全方位感受到 AI 大模型研發(fā)的復(fù)雜與精妙,每一項(xiàng)技術(shù)點(diǎn)都凝聚著智慧,也讓我對(duì)人工智能技術(shù)的深度與廣度有了新認(rèn)知,期待后續(xù)探索能挖掘更多技術(shù)寶藏,見(jiàn)證 AI 發(fā)展的更多可能。
    發(fā)表于 07-20 15:07

    【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit人臉識(shí)別

    本篇使用算法組件實(shí)現(xiàn)人臉檢測(cè)。 一.準(zhǔn)備工作 1.首先使用到EASY-EAI-Toolkit組件,ubuntu掛載目錄下克隆git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-3576.git 2.下載人臉檢測(cè)算法模型https://pan.baidu.com/s/1UflOWeHJOBf1envujW7tEA?pwd=1234 (提取碼:1234 )。 3.尋找人臉圖片素材,將其與算法模型文件放到EASY-EAI-Toolkit-3576/Demos/algorithm-face_detect/Release路徑下 二.人臉檢測(cè)代碼、編譯與測(cè)試 1.組件人臉識(shí)別代碼如下 2.開(kāi)發(fā)板掛載服務(wù)器,編譯 掛載上服務(wù)器后,切換到EASY-EAI-Toolkit-3576/Demos/algorithm-face_detect/路徑下./build.sh 3.運(yùn)行與效果 進(jìn)入開(kāi)發(fā)板Release目錄,執(zhí)行下方命令,運(yùn)行程序cd Release/ ./test-face-detect faces.jpg 可以看到faces.jpg檢測(cè)運(yùn)行25.89ms,人臉數(shù)目18,生成result.jpg如下 可以看到detect.jpg檢測(cè)運(yùn)行15.4ms,人臉數(shù)目1,生成result.jpg如下 至此,實(shí)現(xiàn)人臉檢測(cè)功能。
    發(fā)表于 07-20 14:40

    CST92F25燒錄bin格式文件

    我想直接燒錄例程文件夾下的bin格式文件,但是 在BLE Flash Programmer V1.0.1,我只能使用用戶(hù)數(shù)據(jù)這個(gè)燒錄文件配置框燒錄,該配置選項(xiàng)只能從地址0x5000開(kāi)始燒錄,我從該地址燒錄后,CST92F25無(wú)法運(yùn)行。 從開(kāi)發(fā)手冊(cè)可以查到,boot info 是從0x2000開(kāi)始的,但我無(wú)法使用用戶(hù)數(shù)據(jù)這個(gè)燒錄文件配置框燒錄0x2000地址。 請(qǐng)問(wèn)有別的燒錄工具嗎?從0x2000地址開(kāi)始燒錄
    發(fā)表于 07-20 14:01

    【Banana Pi BPI-RV2開(kāi)發(fā)板試用體驗(yàn)】從零編譯Banana Pi BPI-RV2開(kāi)發(fā)板的openWRT

    本文將step by step介紹從源碼下載、menuconfig到編譯出BIN的整個(gè)過(guò)程。 一、前期準(zhǔn)備 (一)編譯環(huán)境 用的是WSL2,選擇了最新的24.04,剛開(kāi)始還有點(diǎn)忐忑,怕環(huán)境太新不兼容,后面一步步走下去也沒(méi)啥事情。 root@DeepThink:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION=\"Ubuntu 24.04.2 LTS\" 需要安裝一些基本的開(kāi)發(fā)工具&模塊,反正一股腦全部敲了好了。 sudo apt install build-essential sudo apt install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git-core gawk asciidoc libz-dev zlib1g-dev libssl-dev 需要注意的是,python3-distutils不需要安裝,24.04也安裝不上,因?yàn)閛penWRT官方特別說(shuō)了: (二)源碼下載 因?yàn)樵谏掀ā綛anana Pi BPI-RV2開(kāi)發(fā)板試用體驗(yàn)】配置WSL網(wǎng)絡(luò)環(huán)境訪問(wèn)Github - RISC-V技術(shù)論壇 - 電子技術(shù)論壇 - 廣受歡迎的專(zhuān)業(yè)電子論壇!)我已經(jīng)配置好WSL可以通過(guò)PC的代理高速訪問(wèn)GitHub,所以我就直接從GitHub上clone源碼了。 git clone https://github.com/BPI-SINOVOIP/BPI-RV2-SF21H8898-OPENWRT-BSP.git 當(dāng)然,如果網(wǎng)絡(luò)訪問(wèn)GitHub的確慢,也可以通過(guò)gitee曲線救國(guó)的方式下載源碼,即先通過(guò)gitee將源碼從GitHub同步過(guò)來(lái),然后從gitee下載源碼。 二、配置系統(tǒng) 配置OpenWRT通過(guò)在BPI-RV2-SF21H8898-OPENWRT-BSP目錄下執(zhí)行make menuconfig命令,主要包括開(kāi)發(fā)板BSP配置、LuCI網(wǎng)頁(yè)配置和無(wú)線網(wǎng)絡(luò)配置。 (一)feeds配置 feeds.conf.default文件中保存著OpenWRT的附加軟件包管理器的擴(kuò)展包索引目錄,就是下載管理軟件包的,默認(rèn)的feeds下載有packages、luci、routing、telephony。常見(jiàn)的內(nèi)容如下: root@DeepThink:~/BPI-RV2-SF21H8898-OPENWRT-BSP$ cat feeds.conf.default src-git-full packages https://git.openwrt.org/feed/packages.git;openwrt-22.03 src-git-full luci https://git.openwrt.org/project/luci.git;openwrt-22.03 src-git-full routing https://git.openwrt.org/feed/routing.git;openwrt-22.03 src-git-full telephony https://git.openwrt.org/feed/telephony.git;openwrt-22.03 如果git.openwrt.org下載速度坑爹的話,可以采用gitee同步大法,同步后的gitee地址更新至feeds.conf.default文件。 (二)板級(jí)BSP配置 因?yàn)锽anana Pi BPI-RV2的BSP早就有官方配置好了,我們只需要在menu中選擇即可。 1、選擇Target System (SiFlower SoCs) 2、再選擇Subtarget(Siflower SF21H8898 based boards) 3、最后,Target Profile (Banana Pi BPI-RV2),可以看出SF21H8898目前的板子挺多的,有官方的EVB,BPI的香蕉派RV2,還有個(gè)One,估計(jì)也是Siflower官方的。 (三)LuCI 配置 UCI 是 Openwrt 中為實(shí)現(xiàn)所有系統(tǒng)配置的一個(gè)統(tǒng)一接口,英文名 Unified Configuration Interface,即統(tǒng)一配置接口。輕量級(jí) LUA 語(yǔ)言的官方版本只包括一個(gè)精簡(jiǎn)的核心和最基本的庫(kù),這使得 LUA 體積小、啟動(dòng)速度快,從而適合嵌入在別的程序里。 LuCI 即是這兩個(gè)項(xiàng)目的合體,可以實(shí)現(xiàn)路由的網(wǎng)頁(yè)配置界面。 LuCI網(wǎng)頁(yè)配置如下: 1、-> Network -> Web Servers/Proxies -> < *> uhttpd; 2、-> LuCI -> 1. Collections -> <* > luci 3、-> LuCI -> 2. Modules -> Translations -> <*> Chinese Simplified (zh_Hans) 4、-> LuCI -> 3. Applications -> <* > luci-app-ddns -> LuCI -> 3. Applications -> <* > luci-app-firewall -> LuCI -> 3. Applications -> <* > luci-app-ntpc -> LuCI -> 3. Applications -> <* > luci-app-samba4 -> LuCI -> 3. Applications -> <* > luci-app-uhttpd 5、-> LuCI -> 4. Themes ->全選 具體截圖就不附上了。 (四)無(wú)線配置 Banana Pi BPI-RV2開(kāi)發(fā)板上沒(méi)有WIFI模組,手頭有個(gè)MT7601U的USB WiFi卡,一并加上。 1、配置kernel驅(qū)動(dòng) -> Kernel modules -> Wireless Driver -> < *> kmod-cfg80211 -> Kernel modules -> Wireless Driver -> < *> kmod-cfg80211 -> Kernel modules -> Wireless Driver -> < *> kmod-mt7601u 2、配置WirelessAPD框架 -> Network -> WirelessAPD -> < *> wpad-basic-mbedtls -> Network -> WirelessAPD ->< *> hostapd-common -> Network -> WirelessAPD ->< *> wpa-cli -> Network -> WirelessAPD ->< *> hostapd-utils 保存全部,退出。 三、編譯OpenWRT (一)下載軟件包 下載全部選擇好的軟件包 ./scripts/feeds update -a ./scripts/feeds install -a make download V=s 在線下載文件包,如果由于網(wǎng)絡(luò)關(guān)系導(dǎo)致某些文件包無(wú)法下載而中斷編譯過(guò)程。一方面可以重復(fù)執(zhí)行make download V=s命令重新下載,另一種解決方法則是查找出錯(cuò)的包名,至ftp://ftp.gnu.org/gnu/手動(dòng)下載對(duì)應(yīng)文件包,并復(fù)制至“dl”目錄后重新編譯,直至全部完成。 (二)編譯系統(tǒng) 直接make了,硬件比較高的機(jī)器可以make -j4甚至make -j8加快編譯速度。 中間遇到2次編譯問(wèn)題: 一次是沒(méi)有使用代理下載文件,加上文件太大,導(dǎo)致沒(méi)下載全的問(wèn)題,后來(lái)通過(guò)代理下載就OK了; 另外一次就是PATH環(huán)境變量的問(wèn)題,因?yàn)镻C上安裝了nvidia的SDK manager,結(jié)果編譯的時(shí)候一直提示“The relative path \'Files/NVIDIA\' is included in the PATH environment variable”錯(cuò)誤,最后在PC側(cè)刪除該軟件然后重啟WSL才解決。 大約2-3小時(shí)編完。 最后生成的bin文件如下: root@DeepThink:~/BPI-RV2-SF21H8898-OPENWRT-BSP$ ls bin/targets/siflower/sf21h8898/ -l total 14416 -rw-r--r-- 1 root root 5313 Jul 19 23:19 config.buildinfo -rw-r--r-- 1 root root288 Jul 19 23:19 feeds.buildinfo -rw-r--r-- 1 root root 6946816 Jul 19 23:20 openwrt-siflower-sf21h8898-bpi-rv2-nand-initramfs-kernel.bin -rw-r--r-- 1 root root 7766337 Jul 19 23:20 openwrt-siflower-sf21h8898-bpi-rv2-nand-squashfs-sysupgrade.bin -rw-r--r-- 1 root root 4701 Jul 19 23:20 openwrt-siflower-sf21h8898-bpi-rv2-nand.manifest drwxr-xr-x 2 root root12288 Jul 19 23:20 packages -rw-r--r-- 1 root root 1457 Jul 19 23:20 profiles.json -rw-r--r-- 1 root root701 Jul 19 23:20 sha256sums -rw-r--r-- 1 root root13 Jul 19 23:19 version.buildinfo 四、一些需要注意的問(wèn)題 一是openwrt和GitHub速度真的太慢了,本次大部分時(shí)間耗費(fèi)在源碼和工具下載問(wèn)題的解決上,最好用代理下載GitHub源碼和工具,gitee同步勉強(qiáng)能用。 二是新手編譯務(wù)必按照步驟來(lái),不要亂序,否則很多莫名其妙的問(wèn)題。 三是編譯環(huán)境很重要,要想少問(wèn)題,多讀readme。 收工
    發(fā)表于 07-20 12:29

    易飛揚(yáng)浸沒(méi)液冷延長(zhǎng)器與硅光液冷光模塊主題研究 ——液冷光互連技術(shù)的數(shù)據(jù)中心革命

    1. 研究背景與行業(yè)趨勢(shì) 1.1 數(shù)據(jù)中心散熱挑戰(zhàn) 隨著AI、HPC(高性能計(jì)算)和5G的快速發(fā)展,數(shù)據(jù)中心功率密度急劇上升,傳統(tǒng)風(fēng)冷技術(shù)已無(wú)法滿(mǎn)足高算力芯片(如GPU、ASIC、光芯片)的散熱需求。據(jù)IDC預(yù)測(cè),到2027年,全球液冷數(shù)據(jù)中心市場(chǎng)規(guī)模將突破200億美元,年復(fù)合增長(zhǎng)率(CAGR)達(dá)25%。 1.2 液冷技術(shù)成為主流 ? 浸沒(méi)式液冷:直接接觸冷卻,PUE可低至1.02-1.05,適用于超高密度算力集群。 ? 冷板式液冷:適用于部分液冷改造場(chǎng)景,但散熱效率低于浸沒(méi)式。 ? 硅光技術(shù)+液冷:硅光子(SiPh)可降低光模塊功耗,結(jié)合液冷可進(jìn)一步提升能效比。 易飛揚(yáng)作為光互連技術(shù)領(lǐng)導(dǎo)者,率先布局浸沒(méi)液冷延長(zhǎng)器和硅光液冷光模塊,推動(dòng)數(shù)據(jù)中心向低碳、高密度方向發(fā)展。
    的頭像 發(fā)表于 07-20 12:19 ?101次閱讀
    易飛揚(yáng)浸沒(méi)液冷延長(zhǎng)器與硅光液冷光模塊主題研究  ——液冷光互連技術(shù)的數(shù)據(jù)中心革命

    從鐵路到影院再到AI眼鏡,DPVR智能穿戴革命還在繼續(xù)

    智能穿戴設(shè)備,如今正進(jìn)入越來(lái)越多的傳統(tǒng)行業(yè),助力其完成數(shù)字化改革。 在7月8日-7月10日舉行的第十七屆中國(guó)國(guó)際現(xiàn)代化鐵路技術(shù)裝備展上,出現(xiàn)在國(guó)鐵集團(tuán)人工智能展區(qū)的“車(chē)務(wù)系統(tǒng)人身安全”VR實(shí)訓(xùn)平臺(tái)項(xiàng)目成為了現(xiàn)場(chǎng)焦點(diǎn)。 該方案由北京局集團(tuán)公司唐山站選送、微澤科技提供技術(shù)支持、DPVR(大朋VR)提供設(shè)備支持,作為中國(guó)鐵路人工智能學(xué)習(xí)實(shí)訓(xùn)類(lèi)應(yīng)用代表參加本次活動(dòng),受到參會(huì)人員和媒體的廣泛關(guān)注。 VR 賦能鐵路安全培訓(xùn),安全高效兩不
    的頭像 發(fā)表于 07-20 12:08 ?174次閱讀

    提高PFC對(duì)電機(jī)驅(qū)動(dòng)的重要價(jià)值

    電子發(fā)燒友網(wǎng)綜合報(bào)道 功率因數(shù)校正(Power Factor Correction,簡(jiǎn)稱(chēng) PFC)是一種用于提高電力系統(tǒng)功率因數(shù)、降低諧波污染的技術(shù)。它廣泛應(yīng)用于開(kāi)關(guān)電源、電機(jī)驅(qū)動(dòng)、照明設(shè)備等領(lǐng)域,尤其是在現(xiàn)代電力電子設(shè)備中,PFC 已成為必不可少的關(guān)鍵技術(shù)。 ? 在 PFC 中,有三個(gè)重要的概念:有功功率(P):實(shí)際做功的功率,單位為瓦特(W);視在功率(S):電壓與電流有效值的乘積,單位為伏安(VA);無(wú)功功率(Q):用于建立磁場(chǎng)或電場(chǎng)的功率,單位為乏(
    的頭像 發(fā)表于 07-20 11:10 ?979次閱讀

    【RA-Eco-RA6M4開(kāi)發(fā)板評(píng)測(cè)】基于SHELL進(jìn)行DAC測(cè)試

    前言本文分享dac的測(cè)試,并增加對(duì)應(yīng)的shell命令方便測(cè)試 。 使用P014測(cè)試 配置配置DAC的輸出引腳 “Stacks” -> “New Stack” -> “Analog” -> “DAC (r_dac)”添加組件 配置屬性默認(rèn)即可 代碼增加 dac.c/h文件 .c中初始化void dac_init(void){R_DAC_Open(&g_dac0_ctrl, &g_dac0_cfg);R_DAC_Start(&g_dac0_ctrl);} 輸出值void dac_put(uint16_t val){R_DAC_Write(&g_dac0_ctrl, val);} 測(cè)試shell增加測(cè)試命令#include ”dac.h”static voiddacfunc(uint8_t* param); { (uint8_t*)\"dac\", dacfunc, (uint8_t*)\"dac val\"}, static void dacfunc(uint8_t* param){int val;if(1 == sscanf((const char*)param, \"%*s %d\", &val)){xprintf(\"dac:%d\\r\\n\",val);dac_put(val);}} 短接P000和P014先輸出dac值,再adc讀取
    發(fā)表于 07-20 10:16

    【直播預(yù)告】RT-Thread攜手NXP硬核實(shí)戰(zhàn),解鎖MCX微控制器的AI落地秘籍 | 問(wèn)學(xué)直播

    當(dāng)國(guó)產(chǎn)自主RTOS遇上全球半導(dǎo)體巨頭——RT-Thread攜手恩智浦帶來(lái)年度重磅技術(shù)直播!7月22日20:00,我們有幸請(qǐng)來(lái)3位頂尖專(zhuān)家深度解析恩智浦MCX系列微控制器+RT-Thread的黃金組合,從“生態(tài)布局”到“電機(jī)實(shí)戰(zhàn)”到“AI應(yīng)用”,預(yù)約直播,和我們一起打開(kāi)嵌入式開(kāi)發(fā)新視界。Details直播詳情直播主題RT-Thread攜手NXP硬核實(shí)戰(zhàn)解鎖MC
    的頭像 發(fā)表于 07-20 10:05 ?171次閱讀
    【直播預(yù)告】RT-Thread攜手NXP硬核實(shí)戰(zhàn),解鎖MCX微控制器的AI落地秘籍 | 問(wèn)學(xué)直播

    【RA-Eco-RA6M4開(kāi)發(fā)板評(píng)測(cè)】基于SHELL進(jìn)行ADC測(cè)試

    前言本文分享adc的測(cè)試,并增加對(duì)應(yīng)的shell命令方便測(cè)試 。配置如下參考電壓默認(rèn)短接來(lái)自于3.3V 使用引腳P000及AIN0測(cè)試 配置引腳 添加adc組件配置adc參數(shù) Analog->ADC 使能對(duì)應(yīng)通道 產(chǎn)生工程 代碼Adc.c/h #include #include \"hal_data.h\" voidadc_init(void){fsp_err_t err;err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg);err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg);assert(FSP_SUCCESS == err);} //ADC轉(zhuǎn)換完成標(biāo)志位volatile bool scan_complete_flag = false; void adc_callback(adc_callback_args_t * p_args){FSP_PARAMETER_NOT_USED(p_args);scan_complete_flag = true;} uint16_tadc_get(void){uint16_t adc_data;(void)R_ADC_ScanStart(&g_adc0_ctrl);while (!scan_complete_flag) //等待轉(zhuǎn)換完成標(biāo)志{;}scan_complete_flag = false; //重新清除標(biāo)志位 /* 讀取通道0數(shù)據(jù) */R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_data); return adc_data;} #ifndef ADC_H#define ADC_H #ifdef __cplusplusextern \"C\" {#endif#include void adc_init(void);uint16_t adc_get(void); #ifdef __cplusplus}#endif #endif 測(cè)試shell增加測(cè)試命令#include ”adc.h”static void adcfunc(uint8_t* param); { (uint8_t*)\"adc\", adcfunc, (uint8_t*)\"adc\"}, static void adcfunc(uint8_t* param){xprintf(\"adc:%d\\r\\n\",adc_get());} 浮空看到測(cè)量值隨機(jī)754-1057接3V3測(cè)量值為4095接GND測(cè)量值為0
    發(fā)表于 07-20 09:49

    1法拉電容相當(dāng)于多少容量

    文章介紹了法拉電容的容量單位換算、與電流、電壓的關(guān)系,以及與電池容量的類(lèi)比,強(qiáng)調(diào)其儲(chǔ)能能力巨大。
    的頭像 發(fā)表于 07-20 09:28 ?137次閱讀
    1法拉電容相當(dāng)于多少容量

    車(chē)載手機(jī)無(wú)線充電是什么原理

    車(chē)載無(wú)線充電通過(guò)電磁感應(yīng)實(shí)現(xiàn),結(jié)構(gòu)緊湊,安全高效,適用于現(xiàn)代汽車(chē)駕駛體驗(yàn)。
    的頭像 發(fā)表于 07-20 08:14 ?156次閱讀
    車(chē)載手機(jī)無(wú)線充電是什么原理

    Kuikly鴻蒙版正式開(kāi)源 —— 揭秘卓越性能適配之旅

    進(jìn)行評(píng)測(cè)對(duì)比,發(fā)現(xiàn)鴻蒙上的耗時(shí)是同等性能的iOS設(shè)備上2.48倍。為此,我們針對(duì)鴻蒙平臺(tái)進(jìn)行一系列的優(yōu)化,包括內(nèi)聯(lián)優(yōu)化、ThreadLocal優(yōu)化、協(xié)程性能優(yōu)化等。優(yōu)化后,鴻蒙Kotlin
    發(fā)表于 06-04 16:46