php81協(xié)程語(yǔ)法?
PHP 8.1 是 PHP 語(yǔ)言的一個(gè)主版本更新。
它包含了許多新功能,包括枚舉、只讀屬性、First-class 可調(diào)用語(yǔ)法、纖程、交集類型和性能改進(jìn)等。
php的協(xié)程是新引入的Fiber類的實(shí)例,該類的構(gòu)造方法接受一個(gè)callable類型的參數(shù)。這個(gè)參數(shù)可以是匿名函數(shù)、函數(shù)變量或者實(shí)現(xiàn)了__invoke的對(duì)象。callable類型可以接收參數(shù),該參數(shù)在調(diào)用Fiber實(shí)例的start方法時(shí)傳入。
php的協(xié)程由start方法激活。激活后會(huì)進(jìn)入?yún)f(xié)程綁定的callable的代碼執(zhí)行,直到遇到Fiber::suspend()掛起,該靜態(tài)方法會(huì)將當(dāng)前正在運(yùn)行的協(xié)程(也就是代碼所在callable綁定的協(xié)程)掛起。如果suspend沒有參數(shù),會(huì)向外部傳遞一個(gè)null值,如果有參數(shù),會(huì)向外傳遞給激活或讓它恢復(fù)執(zhí)行的調(diào)用方。