偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Perl線程學(xué)習(xí)指南

開發(fā) 架構(gòu)
Perl線程與進(jìn)程之間既有聯(lián)系,又完全不同。簡單地說,一個(gè)Perl線程必然屬于某一個(gè)進(jìn)程,而一個(gè)進(jìn)程包含至少一個(gè)或者多個(gè)Perl線程。

本文和大家重點(diǎn)討論一下Perl線程的概念,Perl線程是一個(gè)單一的執(zhí)行流程,它是所有程序執(zhí)行過程中最小的控制單位,即能被CPU所調(diào)度的最小任務(wù)單元。下面請看本文有關(guān)Perl線程概念詳細(xì)介紹。

Perl線程學(xué)習(xí)指南

1:創(chuàng)建Perl線程

usethreads;my$thr=threads->new(\&sub1);subsub1{print"Inthethreads";}

也可以通過creat創(chuàng)建Perl線程并為Perl線程傳遞參數(shù)
new=create

my$thr=threads->create(\sub1,@paramlist);

2:等待Perl線程結(jié)束

usethreads;my($thr)=threads->new(\sub1);my@return=$thr->join();subsub1{return('FiFty',1,2);}

注意在這個(gè)例子中,sub1返回的是一個(gè)list,所以我們需要在定義Perl線程時(shí)候使用my($thr),這是給$thr一個(gè)list的上下文

3:忽略一個(gè)Perl線程

join做三件事:等待Perl線程推出,清理Perl線程以及返回Perl線程返回值。
如果你對Perl線程沒啥興趣,可以使用detach不管它,Perl會自動收拾這個(gè)進(jìn)程

usethreadsmy$thr=threads->create(\&sub1);$thr->detach();sleep(15);subsub1{my$a=0;while(1){$a++;print"\$ais$a\n";sleep1;}}

sleep在這里的作用是使主進(jìn)程多運(yùn)行一些時(shí)間,否則主程序推出則Perl線程也會退出

我們也可以在sub里面退出Perl線程

subsub1{threads->detach();}

4:數(shù)據(jù)共享

usethreads;usethreads::shared;my$foo:shared=1;my$bar=1;my$thr=threads->create(sub{$foo++;$bar++}->join();print$foo,"\n";#2print$bar,"\n";#1

使用hash作為共享數(shù)據(jù)要注意的是

my$foo:shared;my$bar;my%foo;$foo->{bar}=\$bar#錯誤,必須使用共享數(shù)據(jù)的引用

5:使用數(shù)據(jù)共享帶來的問題

考慮這樣一個(gè)程序

usethreads;usethreads::shared;my$a:shared=1;my$thr1=threads->create(\&sub1);my$thr2=threads->create(\&sub2);$thr1->join;$thr2->join;print("$a\n");subsub1{my$foo=$a;$a=$foo+1;}subsub2{my$bar=$a;$a=$bar+1;}

這時(shí)候a的值是多少呢?sub1和sub2都對變亮a進(jìn)行了修改,所以a的值是不確定的,可能是2也可能是3(我試了n次都是3)

6:同步和控制

訪問控制:lock()

【編輯推薦】

  1. Perl線程隊(duì)列和信號量概念解析
  2. 揭秘Perl線程歷史
  3. 解析四大Perl操作符用法
  4. 追蹤調(diào)查 看Perl線程如何消亡
  5. 學(xué)習(xí)筆記 深入剖析Perl線程的生命周期

 

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-16 10:44:54

Perl數(shù)組

2010-07-21 11:04:44

Perl學(xué)習(xí)指南

2010-07-20 16:13:25

Perl線程

2009-11-11 14:32:33

路由協(xié)議介紹

2010-07-16 15:29:02

Windows Pho

2010-07-29 09:31:28

Flex編程模型

2011-08-23 10:29:13

LuaPlayer

2009-09-17 09:01:10

CCNA學(xué)習(xí)指南CCNA

2010-07-26 13:27:19

Perl多線程

2010-06-11 14:21:53

2014-12-11 17:55:05

程序員

2024-10-15 08:10:49

NotebookLMYouTube視頻AI

2020-07-08 14:50:18

WebpackHMR前端

2009-11-12 17:20:17

2009-11-24 14:48:00

2009-03-22 12:01:33

CCNA視頻教程下載

2015-12-07 11:22:00

算法學(xué)習(xí)指南

2010-07-20 13:32:25

Perl編程格式

2010-07-21 14:18:27

Perl函數(shù)

2011-08-17 14:07:43

IOS開發(fā)Quartz 2D
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號