麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Perl > 正文

perl AnyEvent簡單介紹和入門知識

2020-06-04 20:31:57
字體:
來源:轉載
供稿:網友

什么是面向事件的編程(事件驅動的編程):

編程中所有的程序是由事件決定 – 可以是由用戶操作(鍵盤,鼠標),也可以是由其他程序和流的到達或者操作系統事件(如網絡數據包到達)來觸發執行.

面向事件編程可以也被定義為,寫一個計算機程序,在其中的代碼(通常程序的功能的頭部)被明確分配應用程序的主回路,其代碼本身由兩部分組成方法:事件和事件處理的代碼。

面向事件的編程通常被應用在三種情況下:

1.創建用戶界面的控制(包括圖形)
2.創建一個基于服務器的應用程序
3.游戲編程時多個對象的管理

我們系統管理時,這種應用在服務器的應用程序中使用面向事件的編程很多,比如用于服務器應用解決10,000個并發連接(所謂 C10k 問題)

AnyEvent 是一個性能非常好的基于事件驅動的程序,有人使用它來解決 C10k 的問題,象平時我們寫的程序,都是基于過程.我們都是先做完事件1-> 然后做事件2->然后做事件3 .這種方式.

但基于事件就完全不一樣了,在主流程中你基本只有一個主體框架,程序的動作觸發都是由事件來驅動.比如我們使用的窗口程序.點最大化最小化,都是基于事件,當接收到了最大化的事件做最大化事件那部分的程序開始運行.不在從頭到尾部來執行.所以我們讀基于事件的程序,最好是畫成思維導圖來幫助我們理解.

基于事件的程序常用到的最大好處是用來做異步,例如,我們要下載 100 個文件,下載完后對這些文件進行處理.可能給每個下載和處理的過程寫成事件,這些事件可以同步運行(關鍵在于網絡連接和進行文件的讀寫 IO 時要等待,事件是給這些等待復用起來).
不知大家了解 Perl 中的 select 這個功能不,就是等到句柄可以讀或者寫的時候,做不同的讀或者寫的操作.事件循環也是一樣.

在整個 AnyEvent 入門中,我們只要關注二個點就行, WATCHERS(監控者) 和 條件變量.

WATCHERS(監控者)

在 select 中,有個角色叫"監控者",就是 select 函數本身.
在 AnyEvent 中不但可以監控 IO 還可以監控別的一些事件.來做不同的處理.我們可以看成這是不斷的盯著某件事情的人
有如下幾個基本的內置的可以用來盯著的事情("監控者").
TIMER : 監控時間,到了一定的條件,然后對不同的時間做不同的事件
I/O: 這個是監控到 IO 是否可以讀寫,然后做相應的事件
IDLE: 空閑時做什么事件
SIGNAL : 監控觀查到不同的信息,調用相應的事件
CHILD PROCESS: 對子程序的狀態來調用相應的處理事件

TIMER WATCHERS

基本語法

代碼如下:
AnyEvent->timer(
after => $seconds, # 多久之后做相應的操作.
interval => $seconds, # 在上面條件生效后,每格多久進行一次 callback.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 色人阁在线视频 | 国产永久免费观看 | 国产一区在线观看视频 | 国产流白浆高潮在线观看 | 欧产日产国产精品v | 国产xxxx岁13xxxxhd| 日韩视频在线观看免费 | 欧美特级黄色 | 久久欧美亚洲另类专区91大神 | 日韩精品久久久 | 少妇一级淫片免费放正片 | 日韩欧美电影一区二区三区 | av日韩一区二区三区 | 一本视频在线观看 | 久久色网站 | 国产午夜精品一区二区三区免费 | 欧美一级网| 91av亚洲| 久久亚洲春色中文字幕久久 | 欧美黄色大片免费观看 | 国产99视频精品免视看9 | 2023av在线视频 | 毛片区| 美女网站黄在线观看 | 成人毛片免费 | 久久国产精品电影 | 色婷婷a v | 网站毛片 | 91久久国产露脸精品国产护士 | 欧美大片一级毛片 | 午夜精品久久久久久中宇 | 成人国产在线看 | 成人毛片在线免费观看 | 精品国产99久久久久久宅男i | 欧美成人鲁丝片在线观看 | 精品国产一区二区在线观看 | 久久另类视频 | 91av久久| 九九精品在线观看 | 日本看片一区二区三区高清 |