旗下导航:搜·么
当前位置:网站首页 > PHP框架 > Swoole > 正文

swoole开源吗【swoole】,swoole

作者:搜搜PHP网发布时间:2019-12-07分类:Swoole浏览:84


导读:swoole是运转在PHP下的一个extesion扩大,实际上与一般的扩大差别。一般的扩大只是供应一个库函数。而swoole扩大在运转后会接收PHP的控制权,进入事宜轮回。...

swoole是运转在PHP下的一个extesion扩大,实际上与一般的扩大差别。一般的扩大只是供应一个库函数。而swoole扩大在运转后会接收PHP的控制权,进入事宜轮回。当IO事宜发生后,swoole会自动回调指定的PHP函数。 (引荐进修: swoole视频教程)

PHP的异步、并行、高性能收集通讯引擎,运用纯C言语编写,供应了PHP言语的异步多线程服务器,异步TCP/UDP收集客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,音讯行列,毫秒定时器,异步文件读写,异步DNS查询。

Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

Swoole能够普遍应用于互联网、挪动通讯、企业软件、收集游戏、物联网、车联网、智能家庭等范畴。 运用PHP+Swoole作为收集通讯框架,能够使企业IT研发团队的效力大大提拔,越发专注于开发立异产物。

Swoole底层内置了异步非壅塞、多线程的收集IO服务器。PHP程序员仅需处置惩罚事宜回调即可,无需体贴底层。与Nginx/Tornado/Node.js等全异步的框架差别,Swoole既支撑全异步,也支撑同步。

Swoole是开源免费的自由软件,受权协定是Apache2.0。企业和个人开发者都可免费运用Swoole的代码,并且在Swoole之上所作的修正可用于贸易产物,无需开源(注:必需保存原作者的版权声明)。

Swoole的完成

swoole运用纯C编写,不依靠其他第三方库。

swoole并没有效libevent,所以不需要装置libevent

swoole并不依靠php的stream/sockets/pcntl/posix/sysvmsg等扩大

socket部份

swoole运用底层的socket体系挪用。拜见 sys/socket.h

IO事宜轮回

主历程的事宜轮回运用select/poll,由于主线程中的文件描述符只要几个,运用select/poll即可

reactor线程/worker历程中运用epoll/kqueue

task历程没有事宜轮回,历程会轮回壅塞读取管道

有很多人运用strace -p去检察swoole主历程只能看到poll体系挪用。准确的检察要领是strace -f -p

多历程/多线程

多历程运用fork()体系挪用

多线程运用pthread线程库

EventFd

Swoole中运用了eventfd作为线程/历程间音讯关照的机制。

Timerfd

Swoole运用timerfd来完成定时器

SIgnalfd

swoole中运用了signalfd来完成对信号的屏障和处置惩罚。能够有效地防止线程/历程被信号打断,体系挪用restart的问题。在主历程中reactor线程不会接收任何信号。

1.8.7或更高版本已完整兼容PHP7

以上就是swoole开源吗的细致内容,更多请关注ki4网别的相干文章!

标签:swoole