本文主要是介绍线程是来干嘛的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PHP为什么没有线程,了解这个就了解了大半个编程世界。
所以:多看别人的博客、论坛、讨论(这个最深度、全面)。
参考:
php的多线程是做后台任务物理的。
以前我也一直纠结于PHP实现多线程,但多线程对PHP内核以及整个生态的关联太大了,对于 php-fpm 的 web 来说,多线程其实没多大意义。只有在后台运行复杂的任务时才有意义,
不同语言不同的特性。不要非得在PHP上追求go的并发特性。可以直接学go,成本也不高【语言是通的,最大的成本是phper去学并发的底层,老PHPer底层工作中慢慢积累后学Java等也不难】,收益还大。
从语言使用者角度,多线程也不是那么简单的,内存可见性和执行顺序是很容易掉的坑,无脑加锁的话又容易死锁或者伪并发。掌握多线程除了上好操作系统课,还要看几百页的书,还要多实践才搞得定。如果为了那10%不到的需求加了多线程,泛型要不要加呢?GUI要不要加呢?静态类型检查要不要加呢?把PHP搞那么复杂,唯一的优点都丢了。当你对语言有更高要求的时候,完全可以去学C#/Go/Java/C++,把PHP做起来别扭的那部分功能交给更合适的语言。解决问题的能力和经验是相通的,多学几门语言,在PHP上的投入并不会浪费。
https://www.zhihu.com/question/45502310/answer/236227858
这篇关于线程是来干嘛的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!