问答 / 1 / 5 / 创建于 3年前
golang
swoole
golang多线程模型的协程 swoole单线程模型的协程
应为swoole的协程阻塞后会挂起让给其他协程运行,但是又无法恢复运行,所以永远卡死,swoole的协程是单协程,同一时间只有一个协程能运行,go是多核协程,协程2获取不到锁之后,协程1是可以恢复运行的
其实就是sync包的调用阻塞了,导致协程让出,恢复上一个协程,而swoole的lock拿不到锁会一直等到,不会让出协程
sync
lock
swoole\lock是进程锁,不是用在这里的,wiki.swoole.com/#/memory/lock
我要举报该,理由是:
应为swoole的协程阻塞后会挂起让给其他协程运行,但是又无法恢复运行,所以永远卡死,swoole的协程是单协程,同一时间只有一个协程能运行,go是多核协程,协程2获取不到锁之后,协程1是可以恢复运行的