成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Perl線程學習指南

開發 架構
Perl線程與進程之間既有聯系,又完全不同。簡單地說,一個Perl線程必然屬于某一個進程,而一個進程包含至少一個或者多個Perl線程。

本文和大家重點討論一下Perl線程的概念,Perl線程是一個單一的執行流程,它是所有程序執行過程中最小的控制單位,即能被CPU所調度的最小任務單元。下面請看本文有關Perl線程概念詳細介紹。

Perl線程學習指南

1:創建Perl線程

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

也可以通過creat創建Perl線程并為Perl線程傳遞參數
new=create

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

2:等待Perl線程結束

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

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

3:忽略一個Perl線程

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

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

sleep在這里的作用是使主進程多運行一些時間,否則主程序推出則Perl線程也會退出

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

subsub1{threads->detach();}

4:數據共享

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作為共享數據要注意的是

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

5:使用數據共享帶來的問題

考慮這樣一個程序

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;}

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

6:同步和控制

訪問控制:lock()

【編輯推薦】

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

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-16 10:44:54

Perl數組

2010-07-21 11:04:44

Perl學習指南

2010-07-20 16:13:25

Perl線程

2009-11-11 14:32:33

路由協議介紹

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學習指南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

算法學習指南

2010-07-20 13:32:25

Perl編程格式

2010-07-21 14:18:27

Perl函數

2011-08-17 14:07:43

IOS開發Quartz 2D
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: aaaaa毛片 | 国产乱码精品一区二区三区中文 | 久久夜视频 | 波多野结衣二区 | 高清一区二区三区 | 免费一级黄色 | 中文字幕在线观看一区二区 | 久久精品视频在线免费观看 | 九色 在线 | 国产免费一区二区三区 | 91视频导航 | 国产探花在线精品一区二区 | 国产欧美一区二区三区在线看 | 久久久蜜桃一区二区人 | 精品久久精品 | 亚洲成人网在线观看 | 新超碰97 | 婷婷综合久久 | 精品一区二区三区不卡 | 午夜影视在线观看 | 日韩毛片免费看 | 免费视频一区二区三区在线观看 | 国产精品久久久久久久一区二区 | 日韩精品在线一区 | 欧美精品一区二区三区在线播放 | 日韩免费1区二区电影 | 久久999| 国产在线视频网 | 欧美日韩在线免费观看 | 国产九九九九 | 国产精品高潮呻吟久久av黑人 | 国产精品美女在线观看 | aaaa网站 | 成人黄色电影在线播放 | 精品欧美一区二区三区久久久 | 日韩视频区 | 国产va| 一区不卡在线观看 | 精品国产乱码久久久久久丨区2区 | 在线观看中文字幕视频 | 国产免费一区二区 |