Laravel 即将发布一个新的 Facade Concurrency(并发)

根据泰勒的演讲来看,新的门面支持并发任务了:alien:

Route::get('/concurrency', function() {
    Concurrency::run([
        fn() => sleep(1),
        fn() => sleep(1),
        fn() => sleep(1),
        fn() => sleep(1),
        fn() => sleep(1),
        fn() => sleep(1)
    ])

    // 耗费 1s
})

期待发布。

说明下,这个特性不光是并发任务处理,还支持返回值的。

//$values[] = Metrics::get().
//$values[] = Metrics::get()
//$values[] = Metrics::get();
//$values[] = Metrics:.get();
//$values[] = Metrics::get()

$values = Concurrency::run([
    fn()=> Metrics::get(),
    fn()=> Metrics::get(),
    fn()=> Metrics::get(),
    fn()=> Metrics::get()
    fn()=> Metrics::get(),
]);

return view('demo', ['values' => $values]);
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 27

laravel12有希望上?

2周前 评论
JaguarJack (楼主) 2周前

这个是根据什么原理?

2周前 评论
JaguarJack (楼主) 2周前

不错,有些地方确实可以并行业务~

2周前 评论
JaguarJack (楼主) 2周前
Imuyu (作者) 2周前

sleep应该是不能并行的, 用了parallel?

2周前 评论
JaguarJack (楼主) 2周前

看起来有点像协程的样子

2周前 评论

期待 、主要是php太拉跨了。看看php9有没有什么新的特性

2周前 评论

令人兴奋

2周前 评论
JaguarJack (楼主) 2周前
xiaopi

等于啥都没说,原理是什么?光并发不行,还得相互能通信

2周前 评论
JaguarJack (楼主) 2周前
shuifa 2周前
xiaopi (作者) 2周前
JaguarJack (楼主) 2周前
JaguarJack (楼主) 2周前
shuifa 2周前
JaguarJack (楼主) 2周前
xiaopi

所以我想知道啥原理啊,是多进程还是单进程多协程,不同的场景,到底是适用cpu密集的业务还是IO密集的业务 :joy:

2周前 评论
JaguarJack (楼主) 2周前
shuifa 2周前
xiaopi

原来如此,可以的

2周前 评论
JaguarJack (楼主) 2周前

感觉是这个 parallel

2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!