AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

Rust模式:使用Box::leak創(chuàng)建一個(gè)&'static引用

來(lái)源: 責(zé)編: 時(shí)間:2024-07-10 17:58:46 717觀看
導(dǎo)讀假設(shè)你有這個(gè)Config結(jié)構(gòu)體,它在程序啟動(dòng)時(shí)加載一次,然后在整個(gè)生命周期中都是不可變的。問(wèn)題是,Config需要被程序的許多部分訪問(wèn):struct UsersService { config: Config,}struct OrdersService { config: Config,}/

假設(shè)你有這個(gè)Config結(jié)構(gòu)體,它在程序啟動(dòng)時(shí)加載一次,然后在整個(gè)生命周期中都是不可變的。8M328資訊網(wǎng)——每日最新資訊28at.com

問(wèn)題是,Config需要被程序的許多部分訪問(wèn):8M328資訊網(wǎng)——每日最新資訊28at.com

struct UsersService {    config: Config,}struct OrdersService {    config: Config,}// ...let config = config::load()?;let users_service = UsersService::new(config.clone());let orders_service = OrdersService::new(config.clone());

在上面的代碼中,Config被嵌入到兩個(gè)結(jié)構(gòu)體中,這可能不是理想的,因?yàn)檫@兩個(gè)結(jié)構(gòu)體將隨著Config的大小而增長(zhǎng),而它們可能只需要訪問(wèn)1或2個(gè)字段。8M328資訊網(wǎng)——每日最新資訊28at.com

一個(gè)好的選擇是使用智能指針:Rc或Arc,這樣我們就可以共享Config的引用。因?yàn)槲覀兊某绦蚴嵌嗑€程的(就像現(xiàn)在的大多數(shù)程序一樣),我們將使用Arc指針,這樣我們的結(jié)構(gòu)就可以在線程之間發(fā)送:8M328資訊網(wǎng)——每日最新資訊28at.com

struct UsersService {    config: Arc<Config>,}struct OrdersService {    config: Arc<Config>,}// ...let config = Arc::new(config::load()?);let users_service = UsersService::new(config.clone());let orders_service = OrdersService::new(config.clone());

這里,UsersService和OrdersService只嵌入了一個(gè)Arc指針,這只增加了8個(gè)字節(jié)。8M328資訊網(wǎng)——每日最新資訊28at.com

是否能做得更好呢?對(duì)于在程序的整個(gè)生命周期中都是不可變的數(shù)據(jù),最好使用&'static引用。8M328資訊網(wǎng)——每日最新資訊28at.com

但是如何創(chuàng)建&'static引用的Config,在運(yùn)行時(shí)加載?8M328資訊網(wǎng)——每日最新資訊28at.com

請(qǐng)使用Box::leak,它在堆上分配內(nèi)部結(jié)構(gòu)體(這里是Config),并將引用“泄漏”到'static的生命周期。8M328資訊網(wǎng)——每日最新資訊28at.com

struct UsersService {    config: Arc<Config>,}struct OrdersService {    config: Arc<Config>,}// ...let config = Arc::new(config::load()?);let users_service = UsersService::new(config.clone());let orders_service = OrdersService::new(config.clone());

代碼仍然與我們的原始代碼非常相似,但是現(xiàn)在我們的UsersService和OrdersService只嵌入一個(gè)指針大小的引用,并且運(yùn)行時(shí)開(kāi)銷(xiāo)正好為0。8M328資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-100192-0.htmlRust模式:使用Box::leak創(chuàng)建一個(gè)&amp;'static引用

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Stream很好,Map很酷,但答應(yīng)我別用toMap()

下一篇: Vue3 中異步接口請(qǐng)求是放在組件內(nèi)部,還是放在Pinia中?

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價(jià)

    雖然沒(méi)有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會(huì)補(bǔ)貨,這一切都是為了即將到來(lái)的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機(jī)在停產(chǎn)之后
  • 2023年Q2用戶(hù)偏好榜:12+256G版本成新主流

    3月份的性能榜、性?xún)r(jià)比榜和好評(píng)榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機(jī)潮已經(jīng)過(guò)去,最明顯的肯定就是大內(nèi)存和存儲(chǔ)的機(jī)型了,另外部分中端機(jī)也取消了屏幕塑料支架
  • 轎車(chē)從天而降電動(dòng)車(chē)主被撞身亡 超速搶道所致:現(xiàn)場(chǎng)視頻讓網(wǎng)友吵翻

    近日,上海青浦區(qū)法院判決轎車(chē)從天而降電動(dòng)車(chē)主被撞身亡案,轎車(chē)車(chē)主被判有期徒刑一年。案件顯示當(dāng)時(shí)男子駕駛轎車(chē)在上海某路段行駛,前車(chē)忽然轉(zhuǎn)彎提速超車(chē),
  • 使用LLM插件從命令行訪問(wèn)Llama 2

    最近的一個(gè)大新聞是Meta AI推出了新的開(kāi)源授權(quán)的大型語(yǔ)言模型Llama 2。這是一項(xiàng)非常重要的進(jìn)展:Llama 2可免費(fèi)用于研究和商業(yè)用途。(幾小時(shí)前,swyy發(fā)現(xiàn)它已從LLaMA 2更名為L(zhǎng)la
  • 中國(guó)家電海外掘金正當(dāng)時(shí)|出海專(zhuān)題

    作者|吳南南編輯|胡展嘉運(yùn)營(yíng)|陳佳慧出品|零態(tài)LT(ID:LingTai_LT)2023年,出海市場(chǎng)戰(zhàn)況空前,中國(guó)創(chuàng)業(yè)者在海外紛紛摩拳擦掌,以期能夠把中國(guó)的商業(yè)模式、創(chuàng)業(yè)理念、戰(zhàn)略打法輸出海外,他們依
  • 大廠卷向扁平化

    來(lái)源:新熵作者丨南枝 編輯丨月見(jiàn)大廠職級(jí)不香了。俗話(huà)說(shuō),兵無(wú)常勢(shì),水無(wú)常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級(jí)體系并不稀奇。7月13日,淘寶天貓集團(tuán)啟動(dòng)了近年來(lái)最大的人力制度改革,目前已形成一
  • 2納米決戰(zhàn)2025

    集微網(wǎng)報(bào)道 從三強(qiáng)爭(zhēng)霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來(lái)。無(wú)論是老牌勁旅臺(tái)積電、三星,還是誓言重回先進(jìn)制程領(lǐng)先地位的英特爾,甚至初成立不久的新
  • 3699元!iQOO Neo8 Pro頂配版今日首銷(xiāo):1TB UFS 4.0同價(jià)位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro兩個(gè)版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更是首發(fā)搭載了聯(lián)發(fā)科天璣9200+旗艦
  • “買(mǎi)真退假” 這種“羊毛”不能薅

    □ 法治日?qǐng)?bào) 記者 王春   □ 本報(bào)通訊員 胡佳麗  2020年初,還在上大學(xué)的小東加入了一個(gè)大學(xué)生兼職QQ群。群主&ldquo;七王&rdquo;在群里介紹一些刷單賺
Top