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

技術分享 如何創建Perl線程

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

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

Perl線程簡介

Perl線程是一個單一的執行流程,它是所有程序執行過程中最小的控制單位,即能被CPU所調度的最小任務單元。Perl線程與進程之間既有聯系,又完全不同。簡單地說,一個Perl線程必然屬于某一個進程,而一個進程包含至少一個或者多個Perl線程。早期的計算機系統一次只能運行一個程序,因此,當有多個程序需要執行的時候,唯一的辦法就是讓它們排成隊,按順序串行執行。進程的出現打破了這種格局,CPU資源按時間片被分割開來,分配給不同的進程使用。

這樣一來,從微觀上看進程的執行雖然仍是串行的,但是從宏觀上看,不同的程序已經是在并行執行了。如果我們把同樣的思想運用到進程上,很自然地就會把進程再細分成更小的執行單位,即Perl線程。由于一個進程又往往需要同時執行多個類似的任務,因此這些被細分的Perl線程之間可以共享相同的代碼段,數據段和文件句柄等資源。有了進程,我們可以在一臺單CPU計算機系統上同時運行Firefox和MicrosoftOfficeWord等多個程序;有了Perl線程,我們可以使Firefox在不同的標簽里同時加載多個不同的頁面,在OfficeWord里編輯文檔的同時進行語法錯誤檢查。因此,Perl線程給我們帶來了更高的CPU利用率、更快速的程序響應、更經濟地資源使用方式和對多CPU的體系結構更良好的適應性。

Perl線程的生命周期

創建Perl線程

Perl線程作為Perl中的一種實體,其一生可以粗略的分為創建,運行與退出這三個階段。創建使得Perl線程從無到有,運行則是Perl線程完成其主要工作的階段,退出自然就是指Perl線程的消亡。Perl線程的運行和普通函數的執行非常類似,有其入口參數,一段特定的代碼流程以及執行完畢后返回的一個或一組結果,唯一與普通函數調用的不同之處就在于新建Perl線程的執行與當前Perl線程的執行是并行的。

Perl里創建一個新的Perl線程非常簡單,主要有兩種方法,他們分別是:

使用threads包的create()方法,例如

清單3.通過create()方法創建Perl線程
 

  1. usethreads;  
  2.  
  3. subsay_hello  
  4. {  
  5. printf("Hellothread!@_.\n");  
  6. return(rand(10));  
  7. }  
  8.  
  9. my$t1=threads->create(\&say_hello,"param1","param2");  
  10. my$t2=threads->create("say_hello","param3","param4");  
  11. my$t3=threads->create(  
  12. sub{  
  13. printf("Hellothread!@_\n");  
  14. return(rand(10));  
  15. },  
  16. "param5",  
  17. "param6");  
  18.  

 使用async{}塊創建Perl線程,例如

清單4.通過async{}塊創建Perl線程
 

  1. #!/usr/bin/perl  
  2. #  
  3. usethreads;  
  4.  
  5. my$t4=async{  
  6. printf("Hellothread!\n");  
  7. };  

【編輯推薦】

 

  1. 揭秘Perl線程歷史
  2. 學習筆記 深入剖析Perl線程的生命周期
  3. 解析四大Perl操作符用法
  4. 專家推薦 幾款常用Perl開發工具
  5. 學習筆記 Perl數字與字符串間的自動轉換

 

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

2010-07-20 16:00:09

Perl模塊

2010-07-16 14:30:25

Perl數組

2010-07-19 13:42:04

Perl函數

2010-07-15 15:25:57

Perl線程

2010-07-20 16:13:25

Perl線程

2010-07-15 14:54:50

Perl線程

2010-07-16 13:21:26

Perl哈希表

2010-08-04 13:30:11

Flex項目

2010-07-14 10:41:58

Perl線程

2010-07-15 15:39:51

Perl線程

2010-07-26 13:27:19

Perl多線程

2010-03-15 17:56:23

Java多線程

2010-06-01 15:41:09

創建SVN倉庫

2010-07-28 12:41:18

Flex組件

2010-06-02 16:09:05

SVN協議

2010-07-16 10:38:24

Perl關聯數組

2010-07-19 16:56:56

Perl線程

2010-07-14 10:48:37

Perl線程

2010-07-20 08:58:28

Perl類

2010-07-20 10:02:15

Perl類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲综合 | 久久久久亚洲 | 日韩在线播放中文字幕 | 国产成人一区 | 99精品国自产在线 | 亚洲97 | www.国产 | 亚洲一区 | 麻豆va| 国产高清精品一区二区三区 | 色.com| 日韩在线看片 | 国产精品久久久久久久久久久久久久 | 精品视频一区二区 | 中文字幕 亚洲一区 | 日韩精品一区二区三区久久 | av一级毛片 | 91在线看 | 特级生活片 | 亚洲精品一区二区三区 | 色橹橹欧美在线观看视频高清 | 一区二区三区四区在线 | www.yw193.com| 亚洲香蕉在线视频 | 天堂色综合 | 韩国av电影网| 免费看黄色小视频 | 搞av.com| 久久蜜桃精品 | 欧美日韩一区二区三区不卡视频 | 国产美女一区二区 | 国产激情视频网址 | 日韩在线资源 | 欧美激情在线播放 | www久久爱| 国产xxx在线观看 | 欧美日韩视频 | 黄色网址免费在线观看 | 在线观看日本高清二区 | 国产精品一区在线观看你懂的 | 亚洲精品国产成人 |