原文地址:在Unix编程艺术中,提到了尽量避免多线程编程模型, 认为这样只会增加复杂度, 提倡使用多进程, 这样本质上就可以避免多线程『共享内存数据』产生的 “corruotped memory” 问题。其中, 提到了一篇文章Why Threads Are A Bad Idea, 对于多线程编程和事件编程分析的非常好, 具体的翻译如下:1 介绍线程的背景:在操作系统中出现多线程逐渐演变成 用户层面的编程工具被认为是多种问题的一种通用解决方案每一个程序员都需要成为 一个多线程编程的高手吗?根本性的问题:多线程的程序非常难以正确的编写!!!替代性的方案:使用事件驱动的编程方法特别声明:对于大部分的多线程程序,使用事件驱动是一个更好的选择只有当使用CPU多核的时候, 才需要使用多线程编程2 多线程的本质一般用来管理并发问题多个独立相互执行的任务共享的内存预先的安排机制(Pre-emptive scheduling)同步机制(synchronization)3 多线程的用途操作系统: 对每一个用户进程分配一个内核线程科学应用程序: 每个CPU分配一个线程(对计算要求性很高的程序)分布式系统: 进程请求并行(同步记性的I/O操作)GUIs程序线程对应用户的行为. 在长时间的后台计算过程中仍然可以处理图形展示多媒体, 动画方面的程序编写4 多线程有什么问题?对于一般的程序员而言,难以掌握。即使
...
继续阅读
(5)