swoole是開源免費(fèi)的自由軟件,授權(quán)協(xié)議是Apache2.0。企業(yè)和個(gè)人開發(fā)者均可免費(fèi)使用Swoole的代碼,并且在Swoole之上所作的修改可用于商業(yè)產(chǎn)品,無(wú)需開源(注:必須保留原作者的版權(quán)聲明)。
Swoole 使用純 C 語(yǔ)言編寫,提供了 PHP 語(yǔ)言的異步多線程服務(wù)器,異步 TCP/UDP 網(wǎng)絡(luò)客戶端,異步 MySQL,異步 Redis,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫,異步DNS查詢。 Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端、Http2.0服務(wù)器端。
除了異步 IO 的支持之外,Swoole 為 PHP 多進(jìn)程的模式設(shè)計(jì)了多個(gè)并發(fā)數(shù)據(jù)結(jié)構(gòu)和IPC通信機(jī)制,可以大大簡(jiǎn)化多進(jìn)程并發(fā)編程的工作。其中包括了并發(fā)原子計(jì)數(shù)器,并發(fā) HashTable,Channel,Lock,進(jìn)程間通信IPC等豐富的功能特性。
Swoole2.0 支持了類似 Go 語(yǔ)言的協(xié)程,可以使用完全同步的代碼實(shí)現(xiàn)異步程序。PHP 代碼無(wú)需額外增加任何關(guān)鍵詞,底層自動(dòng)進(jìn)行協(xié)程調(diào)度,實(shí)現(xiàn)異步。
推薦學(xué)習(xí):?swoole視頻教程