Я использую frameworkignign framework. И я ищу наилучшую практику для многопоточности с использованием MVC-рамки кодеиндиктора.
Я думаю о создании класса, в котором все функции будут записаны для запуска в другом независимом потоке.
Пожалуйста, предложите мне методы для многопоточной обработки, используя MVC-структуру codeigniter.
Вы не можете делать многопоточность напрямую с PHP. Каждая загрузка страницы обрабатывается одним потоком.
Если вы хотите, чтобы значение function foo()
передавалось в function bar()
но в многопоточном режиме, вы можете эмулировать ее с помощью очереди заданий, такой как Resque или RabbitMQ.
Но, говоря, что вам нужен многопоточный PHP, хочется сказать, что вам нужен мотоцикл с четырьмя колесами.
Вот многопоточная библиотека php для разметки процесса в отдельный поток, который я использую именно для того, что вы описали в mcodeigniter
php-thread не обеспечивает реальной потоковой передачи, он просто разворачивает процесс и приводит к многопроцессорности.
Если вам нужна реальная потоковая обработка в php, используйте pthreads . Но имейте в виду подводные камни!
Важное примечание для чтения