日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
追蹤調(diào)查看Perl線程如何消亡

本文和大家重點(diǎn)討論一下Perl線程的消亡的概念,如果想讓Perl線程正常退出,這就意味著Perl線程所對(duì)應(yīng)的函數(shù)體在執(zhí)行完畢后返回并釋放資源。

創(chuàng)新互聯(lián)是專業(yè)的桃城網(wǎng)站建設(shè)公司,桃城接單;提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行桃城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

Perl線程的消亡

大多數(shù)情況下,你希望你創(chuàng)建的Perl線程正常退出,這就意味著Perl線程所對(duì)應(yīng)的函數(shù)體在執(zhí)行完畢后返回并釋放資源。例如在清單5的示例中,新建Perl線程被join以后的退出過程??墒?,如果由于detach不當(dāng)或者由于主線因某些意外的異常提前結(jié)束了,盡管它所創(chuàng)建的Perl線程可能尚未執(zhí)行完畢,但是他們還是會(huì)被強(qiáng)制中止,正所謂皮之不存,毛將焉附。這時(shí)你也許會(huì)得到一個(gè)類似于“Perlexitedwithactivethreads”的警告。

當(dāng)然,你也可以顯示地調(diào)用exit()方法來結(jié)束一個(gè)Perl線程,不過值得注意的是,默認(rèn)情況下,如果你在一個(gè)Perl線程中調(diào)用了exit()方法,其他Perl線程都會(huì)隨之一起結(jié)束,在很多情況下,這也許不是你想要的,如果你希望exit()方法只在調(diào)用它的Perl線程內(nèi)生效,那么你在創(chuàng)建該P(yáng)erl線程的時(shí)候就需要設(shè)置’exit’=>’thread_only’。例如

清單7.為某個(gè)Perl線程設(shè)置’exit’=>’thread_only’屬性

 
 
 
  1. #!/usr/bin/perl
  2. #
  3. usethreads;
  4. subsay_hello{
  5. printf("Hellothread!@_.\n");
  6. sleep(10);
  7. printf("Bye\n");
  8. }
  9. subquick_exit{
  10. printf("Iwillbeexitinnotime\n");
  11. exit(1);
  12. }
  13. my$t1=threads->create(\&say_hello,"param1","param2");
  14. my$t2=threads->create({'exit'=>'thread_only'},\&quick_exit);
  15. $t1->join();
  16. $t2->join();

 如果你希望每個(gè)Perl線程的exit方法都只對(duì)自己有效,那么在每次創(chuàng)建一個(gè)新Perl線程的時(shí)候都去要顯式設(shè)置’exit’=>’thread_only’屬性顯然有些麻煩,你也可以在引入threads包的時(shí)候設(shè)置這個(gè)屬性在全局范圍內(nèi)有效,例如

清單8.設(shè)置’exit’=>’thread_only’為全局屬性

 
 
 
  1. usethreads('exit'=>'threads_only');
  2. subfunc{
  3. ...
  4. if($condition){
  5. exit(1);
  6. }
  7. }
  8. my$t1=threads->create(\&func);
  9. my$t2=threads->create(\&func);
  10. $t1->join();
  11. $t2->join();

新聞名稱:追蹤調(diào)查看Perl線程如何消亡
鏈接分享:http://www.dlmjj.cn/article/cdijgeh.html