亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl6中的垃圾收集

2020-10-31 14:50:34
字體:
來源:轉載
供稿:網友

參考計數

在perl 5中,通過參考計數。當在Perl 5中創建某物時,它的引用計數為1或更多,這使它保持活力。在最簡單的情況下,如下所示:

# reference count of $a = 1, because lives in lexical pad# lexical pad is gone, reference count to 0

在Perl 5中,如果該值是一個對象,則DESTROY方法將被調用。

Foo-># $a->DESTROY called

如果不涉及外部資源,及時銷毀只是管理程序使用的內存的另一種方式。作為一個程序員,你不需要關心如何以及什么時候被回收。話雖如此,如果您需要處理外部資源,例如數據庫句柄(數據庫服務器提供的數據庫句柄通常只有有限的數量),那么及時銷毀是一個非常好的特性。參考計數可以提供這一點。

然而,引用計數有幾個缺點。它采用了perl 5核心開發人員。許多數年才能使參考計數正常工作。如果你在工作Xs,您總是需要知道引用計數,以防止內存泄漏或過早破壞。

在多線程環境中保持同步變得更加困難,因為您不希望同時丟失來自多個線程的引用的任何更新(因為這會導致內存泄漏和/或外部資源不被釋放)。為了避免這種情況,需要進行某種鎖定或原子更新,兩者都不便宜。

  • 請注意,perl 5 ithread更像是在解釋器之間具有未共享內存的內存分叉,而不是像C這樣的編程語言中的線程,因此,它仍然不需要對其引用計數進行任何鎖定。

引用計數還有一個基本缺點:如果兩個對象包含彼此的引用,它們將永遠不會被銷毀,因為它們將對方的引用計數保持在0以上(循環引用)。在實踐中,這往往要深入得多,更像是A -> B -> C -> A,其中A,B和C都保持著彼此的生存。

a的概念弱參考是為了避開Perl 5中的這些情況而開發的。雖然這個能,會,可以修正循環引用問題,它具有性能含義,而不是首先解決循環引用(和查找)的問題。你需要知道哪里弱引用可以最佳方式使用;否則,您可能會得到不必要的過早對象銷毀。

可達性分析

由于Perl 6的核心是多線程的,所以在早期階段就決定了引用計數在性能和維護方面都是有問題的。相反,當需要更多內存時,對象就會從內存中被逐出。和該對象可以安全地移除。

在Perl 6中能,會,可以創建一個DESTROY方法,就像在Perl 5中一樣。但是你。不可能確定何時(如果有的話)它將被調用。
不進則退太多細節,Perl 6中的對象只有在垃圾收集運行啟動時才被銷毀,例如,當達到一定的內存限制時。只有這樣,如果內存中的其他對象無法再訪問一個對象和它有一個DESTROY方法,它會在對象被移除之前調用嗎?

當程序退出時,Perl 6不進行垃圾回收。適用相位器(如LEAVE和END) 將要GET調用,但除了在階段程序中運行的代碼(間接)啟動的垃圾收集之外,不會進行任何垃圾收集。

如果您始終需要有序關閉程序所使用的外部資源(例如數據庫句柄),則可以使用位相器確保以正確和及時的方式釋放外部資源。

例如,可以使用END相位器(稱為END塊(在Perl 5中),以便在程序退出時(無論出于何種原因)正確斷開與數據庫的連接:

DBIishconnect "Couldn't connect"END disconnect

注意,END相位器不需要有塊(如{ ... })在Perl 6中。如果沒有,則相位器中的代碼與周圍的代碼共享詞法塊(Lexpad)。

上面的代碼有一個缺陷:如果程序退出以前數據庫連接已經建立,或者如果數據庫連接由于任何原因而失敗,它將仍然嘗試調用.disconnect方法中的任何內容。$dbh,這將導致執行錯誤。那里是然而,在perl 6中有一個簡單的成語可以避免這種情況。用與.

END disconnect with  

后綴with只有在定義給定值(通常是實例化對象)并將其主題化為$_。.disconnect是縮寫$_.disconnect.

如果您希望隨時清理外部資源,那么范圍退出,您可以使用LEAVE范圍內的相位。

DBIishconnect ->   LEAVE disconnect # no need for `with` here  # do your stuff with the databasesay "Could not do the stuff that needed to be done"

作用域if是左邊的,任何LEAVE相位器將被執行。因此,每當代碼在該范圍內運行時,數據庫資源將被釋放。

摘要

盡管perl 6沒有及時銷毀perl 5用戶習慣的對象,但是是嗎?具有易于使用的替代方法,以確保外部資源的管理,類似于Perl 5中的方法。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品亚洲аv天堂网| 最近2019年中文视频免费在线观看| 久久黄色av网站| 日韩免费黄色av| 国内精品中文字幕| 日韩中文字幕在线视频| 欧美电影免费观看| 亚洲成人av片在线观看| 国产精品久久国产精品99gif| 欧美高清电影在线看| 国产精品私拍pans大尺度在线| 亚洲国产精品va在线| 欧美大片免费观看在线观看网站推荐| 黑人巨大精品欧美一区二区三区| 午夜精品久久久久久久99热浪潮| 国产精品亚洲片夜色在线| 欧美日韩美女视频| 亚洲成年人在线播放| 高清日韩电视剧大全免费播放在线观看| 日韩av在线免播放器| 国产精品一区二区三区毛片淫片| 欧美激情视频网站| 欧美老少做受xxxx高潮| 国内精品久久久久伊人av| 欧美成人亚洲成人| 亚洲国产精久久久久久久| 久久中文精品视频| 国产精品视频xxxx| 久久久免费精品视频| 国产女同一区二区| 91情侣偷在线精品国产| 91色琪琪电影亚洲精品久久| 欧美老女人xx| 成人写真视频福利网| 亚洲国产高清自拍| 青青久久av北条麻妃海外网| 久热精品在线视频| 中文字幕日韩免费视频| 亚洲91精品在线观看| 成人女保姆的销魂服务| 国产国语刺激对白av不卡| 久久精品99久久香蕉国产色戒| 日本精品免费观看| 国产人妖伪娘一区91| 九九热在线精品视频| 日韩欧美国产网站| 亚洲人成在线播放| 国产在线精品自拍| 欧美激情乱人伦一区| 91亚洲国产成人精品性色| 2019日本中文字幕| 日产精品久久久一区二区福利| 最近2019中文免费高清视频观看www99| 国产精品极品美女在线观看免费| 亚洲人成在线播放| 国产日韩欧美中文| 日韩欧美亚洲范冰冰与中字| 国产午夜精品全部视频在线播放| 91在线免费看网站| 91在线观看免费高清完整版在线观看| 国产欧美精品一区二区| 久久久久亚洲精品成人网小说| 国产高清视频一区三区| 亚洲欧美在线免费观看| 国产一区二区黄| 欧美放荡办公室videos4k| 亚洲第一页中文字幕| 奇米一区二区三区四区久久| 日本人成精品视频在线| 国产精品视频成人| 日韩在线观看网址| 精品国产91久久久久久老师| 国产精品视频精品视频| 黑人巨大精品欧美一区二区| 欧美国产日韩精品| 久久全球大尺度高清视频| 精品高清美女精品国产区| 一区二区三区视频在线| 日韩美女中文字幕| 欧美午夜性色大片在线观看| 日本一区二区在线免费播放| 精品国偷自产在线视频99| 欧洲s码亚洲m码精品一区| 在线日韩av观看| 日本a级片电影一区二区| 欧美极品少妇与黑人| 国产精品精品视频一区二区三区| 国产欧美最新羞羞视频在线观看| 成人免费视频a| 精品国产一区二区三区久久狼5月| 黄色成人在线免费| 中文字幕亚洲一区二区三区五十路| 久久久视频免费观看| 亚洲天堂av网| 欧美尤物巨大精品爽| 亚洲人午夜精品免费| 51精品国产黑色丝袜高跟鞋| 亚洲国产成人久久综合| 亚洲精品成人网| 久久久久成人网| 97精品国产91久久久久久| 蜜臀久久99精品久久久无需会员| 国产精品中文久久久久久久| 欧美精品videosex牲欧美| 777精品视频| 亚洲精品一区在线观看香蕉| 久久精品电影网| 亚洲精品自产拍| 国外成人性视频| 色播久久人人爽人人爽人人片视av| 国产精品直播网红| 中文字幕欧美亚洲| 欧美精品在线观看| 国产精品自产拍在线观| 欧美尤物巨大精品爽| 欧美一级电影久久| 黑人巨大精品欧美一区二区| 92版电视剧仙鹤神针在线观看| 精品综合久久久久久97| 亚洲男人天堂2019| 欧美第一黄网免费网站| 国产在线观看91精品一区| 亚洲成人激情视频| 国产精品高潮呻吟久久av无限| 国产成人久久精品| 国产精品免费观看在线| 久久99久久亚洲国产| 久久久久久一区二区三区| 日本精品视频在线观看| 97久久久免费福利网址| 成人免费福利在线| 亚洲淫片在线视频| 日韩成人av在线| 26uuu另类亚洲欧美日本老年| 亚洲人成网站色ww在线| 日韩电影大全免费观看2023年上| 亚洲精品视频在线播放| 欧美专区福利在线| 日本精品在线视频| 国产成人综合一区二区三区| 国产亚洲aⅴaaaaaa毛片| 国产精品久久久av久久久| 亚洲系列中文字幕| 欧美极品美女视频网站在线观看免费| 久久久久一本一区二区青青蜜月| 国模精品一区二区三区色天香| 日韩美女免费视频| 亚洲精品乱码久久久久久按摩观| 日韩一区二区久久久| 精品亚洲国产成av人片传媒| 久久99精品视频一区97| 成人在线视频网站| 亚洲欧美激情四射在线日| xvideos亚洲人网站| 国产日韩欧美在线| 国产成人精品免费久久久久| 一区二区三区国产在线观看| 97人人模人人爽人人喊中文字| 日韩经典中文字幕| 成人美女av在线直播| 日韩国产一区三区| 日韩精品中文字| 欧美大片在线看| 亚洲国产精品中文|