PHP是单线程的,laravel中的作业和队列如何工作?
昨天面试了,他问了我一个问题。PHP 是一种单线程语言,那么工作和队列在 Laravel 背后是如何工作的呢?
回答
单线程并不意味着你不能启动程序的多个实例,它意味着程序不能同时执行自身的多个部分。
考虑到这一点,您将很容易理解,当您使用 运行队列时php artisan queue:work,一个新的工作程序(一个 PHP 进程)将启动并执行推送到队列中的每个新作业。
该工作者与任何其他程序一起运行,无论是否是单线程的。
昨天面试了,他问了我一个问题。PHP 是一种单线程语言,那么工作和队列在 Laravel 背后是如何工作的呢?
单线程并不意味着你不能启动程序的多个实例,它意味着程序不能同时执行自身的多个部分。
考虑到这一点,您将很容易理解,当您使用 运行队列时php artisan queue:work,一个新的工作程序(一个 PHP 进程)将启动并执行推送到队列中的每个新作业。
该工作者与任何其他程序一起运行,无论是否是单线程的。