PHP 是单线程的,作业和队列在 laravel 中如何工作?
PHP is single-threaded , How job and queue works in laravel?
昨天我去面试了,他问了我一个问题。 PHP 是一种单线程语言,那么作业和队列在幕后 laravel 是如何工作的?
单线程并不意味着你不能启动程序的多个实例,它意味着程序不能同时执行自身的多个部分。
考虑到这一点,您将很容易理解,当您在 运行 队列 php artisan queue:work
时,一个新工作程序(一个 PHP 进程)启动并执行每个新工作被推入队列。
此工作器与任何其他程序一起运行,无论是否为单线程。
在 Laravel 中,队列 运行 与使用 php artisan queue:work
的 PHP CLI 独立,与线程无关 ...
昨天我去面试了,他问了我一个问题。 PHP 是一种单线程语言,那么作业和队列在幕后 laravel 是如何工作的?
单线程并不意味着你不能启动程序的多个实例,它意味着程序不能同时执行自身的多个部分。
考虑到这一点,您将很容易理解,当您在 运行 队列 php artisan queue:work
时,一个新工作程序(一个 PHP 进程)启动并执行每个新工作被推入队列。
此工作器与任何其他程序一起运行,无论是否为单线程。
在 Laravel 中,队列 运行 与使用 php artisan queue:work
的 PHP CLI 独立,与线程无关 ...