// +---------------------------------------------------------------------- namespace crmeb\listeners; use app\listener\system\AutoConfig; use crmeb\interfaces\ListenerInterface; use crmeb\utils\Start; use Swoole\Lock; use think\facade\Event; /** * swoole 初始化 */ class InitSwooleLockListen implements ListenerInterface { public function handle($event): void { $GLOBALS['_swoole_order_lock'] = []; $locks = array_merge(['default'], config('swoole.locks', [])); foreach ($locks as $lock) { $GLOBALS['_swoole_order_lock'][$lock] = new Lock(SWOOLE_MUTEX); } Event::listen('get.config', AutoConfig::class); app()->make(Start::class)->show(); } }