php event_base_new,php event拓展基本使用
php event拓展基本使用
2019-02-04 22:02:28
(527)
1. 確定io復用類型(select/poll/epoll)
```php
$cfg = new EventConfig();
$cfg->avoidMethod("select");
$cfg->avoidMethod("epoll");
$base = new EventBase($cfg);
$sig = Event::signal($base, SIGTERM, function($signal, $parameter) {
echo "signal captured", PHP_EOL;
});
$sig->addSignal();
var_dump($base->getMethod()); //打印io模型
$base->loop(); //開始時間循環
```
說明:
- 通過調用EventBase的初始化參數的`avoidMethod`方法排除指定的io模型,留下期望的模型
- linux中SIGKILL信號應用程序無權處理,需注意
2. 基于event的信號處理
```php
$base = new EventBase();
$sig = Event::signal($base, SIGTERM, function($signal, $parameter) {
echo "signal captured", PHP_EOL;
});
$sig->addSignal();
$base->loop();
```
3. 基于event的定時器(單次)
```php
$base = new EventBase;
$waitTime = 3; //設置定時時間
$event = Event::timer($base, function($t) {
echo "$waitTime seconds elapsed", PHP_EOL;
}, $waitTime);
$event->addTimer($waitTime);
$base->loop();
````
4. 基于event的定時器(多次)
```php
$base = new EventBase;
$event = new Event($base, -1, Event::TIMEOUT | Event::PERSIST, function() {
echo "i am timer", PHP_EOL;
}); //Event::PERSIST
$event->add(3);
$base->loop();
```
總結
以上是生活随笔為你收集整理的php event_base_new,php event拓展基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java语法定制混淆,由撇号混淆的tex
- 下一篇: php 在函数里打开链接,JavaScr