摘要:是一個(gè)事件循環(huán)一個(gè)寄存器對(duì)某些事件例如文件描述符是可讀的或超時(shí)發(fā)生進(jìn)行注冊(cè),它將管理這些事件源并為程序提供事件。為此,必須通過(guò)執(zhí)行事件循環(huán)處理程序來(lái)或多或少地完成對(duì)進(jìn)程或線程的控制,然后通過(guò)回調(diào)機(jī)制來(lái)傳遞事件。
簡(jiǎn)介
此擴(kuò)展提供了Libev庫(kù)——一個(gè)用C語(yǔ)言編寫的高性能全功能事件循環(huán)。安裝php擴(kuò)展ev 編譯ev擴(kuò)展Libev是一個(gè)事件循環(huán):一個(gè)寄存器對(duì)某些事件(例如文件描述符是可讀的或超時(shí)發(fā)生)進(jìn)行注冊(cè),它將管理這些事件源并為程序提供事件。
為此,必須通過(guò)執(zhí)行事件循環(huán)處理程序來(lái)或多或少地完成對(duì)進(jìn)程(或線程)的控制,然后通過(guò)回調(diào)機(jī)制來(lái)傳遞事件。
你通過(guò)注冊(cè)所謂的事件觀察者來(lái)記錄某些事件,然后通過(guò)啟動(dòng)觀察者將其交給Libev。
Note: 此擴(kuò)展在 Windows 平臺(tái)上不可用。
# via http://pecl.php.net/package/ev # 選擇自己對(duì)應(yīng)的php版本下載,我下面演示的是php > = 5.4 wget https://pecl.php.net/get/ev-1.0.4.tgz tar zxvf ev-1.0.4.tgz cd ev-1.0.4 ./configure make && make install簡(jiǎn)單測(cè)試
php -r "var_dump(class_exists("EvTimer"));"; # output: bool(true) 表示安裝正常了EvTimer的測(cè)試demo evtimer.php 代碼
stop(); //之后的代碼依舊會(huì)執(zhí)行 } // file_put_contents("./xx.log", $nowIter . microtime(true) .PHP_EOL, 8); echo "w1執(zhí)行, 當(dāng)前iter: " . $nowIter . PHP_EOL; }); Ev::run(); echo "END". PHP_EOL; //只有事件輪詢結(jié)束后才會(huì)執(zhí)行最后續(xù)的代碼執(zhí)行
php evtimer.php執(zhí)行結(jié)果
w1執(zhí)行, 當(dāng)前iter: 1 w1執(zhí)行, 當(dāng)前iter: 2 w1執(zhí)行, 當(dāng)前iter: 3 w1執(zhí)行, 當(dāng)前iter: 4 w1執(zhí)行, 當(dāng)前iter: 5 END
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28887.html
摘要:例如,下面的代碼等待成為可讀的等待直到可讀所有觀察者構(gòu)造函數(shù)會(huì)自動(dòng)啟動(dòng)觀察者。因此,應(yīng)該保留由構(gòu)造函數(shù)或工廠方法返回的觀察者對(duì)象。觀察者回調(diào)傳遞給觀察者構(gòu)造函數(shù)派生于的類等。 Watchers (觀察者) 觀察者是為了記錄某件事而創(chuàng)造的對(duì)象。例如,下面的代碼等待STDIN成為可讀的: 所有觀察者構(gòu)造函數(shù)會(huì)自動(dòng)啟動(dòng)觀察者。createStopped方法創(chuàng)建停止監(jiān)視器(例如 EvIo::...
摘要:周期性觀察者的運(yùn)行模式根據(jù)偏移間隔和重新調(diào)度參數(shù),不同周期的觀察者工作絕對(duì)定時(shí)器。這并不意味著觸發(fā)器之間總是有秒的時(shí)間,但只有當(dāng)系統(tǒng)時(shí)間顯示一個(gè)完整的小時(shí)時(shí)才會(huì)調(diào)用回調(diào)。它必須根據(jù)傳遞的時(shí)間值也就是說(shuō),大于或等于第二個(gè)參數(shù)的最低時(shí)間值。 Periodic watcher operation modes (周期性觀察者的運(yùn)行模式) 根據(jù)偏移、間隔和重新調(diào)度參數(shù),不同周期的觀察者工作 of...
摘要:準(zhǔn)備工作首先,我們的來(lái)自于標(biāo)簽中選中的文件列表。用戶選中的文件信息也會(huì)傳入回調(diào)函數(shù)的第一個(gè)參數(shù)中。唯一需要特殊處理的是文件對(duì)象的獲取入口改變了。對(duì)于標(biāo)簽,監(jiān)聽(tīng)事件,存放在中對(duì)于拖拽操作,存放在拖拽事件的回調(diào)函數(shù)參數(shù)里,通過(guò)訪問(wèn)即可。 本文來(lái)自《FileAPI 文件操作實(shí)戰(zhàn)》其他所有系列都放在了Github。歡迎交流和Star。 介紹 HTML5 為我們提供了 File API 相關(guān)規(guī)...
閱讀 2055·2021-11-15 11:39
閱讀 3237·2021-10-09 09:41
閱讀 1501·2019-08-30 14:20
閱讀 3274·2019-08-30 13:53
閱讀 3334·2019-08-29 16:32
閱讀 3395·2019-08-29 11:20
閱讀 3032·2019-08-26 13:53
閱讀 783·2019-08-26 12:18