进程:操作系统资源分配的最小单元
,每个进程有私有的虚拟地址空间、代码、数据和其他各种系统资源,一个进程中所有的线程可以在这个虚拟的空间中使用全局变量和系统资源。
线程:操作系统最小的调度单元
,是进程内部的执行单元,每个进程至少有一个系统自动创建的主线程。多个线程可以并行处理,多线程不是为了提高运行效率,而是通过同步完成多项任务来提升资源的利用率,从而提高系统的效率。
单核处理器(CPU):多线程并行运行时,操作系统为每个独立的线程以轮换的方式安排时间片,产生并行的假象
。线程抢夺CPU资源,进行线程间的切换时大大降低系统的性能。
多核处理器(CPU):每个线程都可分配给一个不同的核心处理器,多核处理器之间通过连接CPU内部共享总线进行通讯,真正进入“并行运算”状态
,获得更大的吞吐率。利用该特性,程序员可以将程序编写长成多线程模式而不必关注实际用了多少个CPU。对于可共享的资源,在使用期间必须进入锁定状态,使用结束后再解锁。
微处理器(CPU):微处理器由一片或少数几片大规模集成电路
组成的中央处理器。可执行控制部件和算术逻辑部件的功能。具有体积小、重量轻和容易模块化等优点。
并行:同时执行不同任务
,关键是有同时处理多个任务的能力。
并发:交替执行不同任务
,关键是有处理多个任务的能力。不同的浏览器对并发数的要求不同。
串行:顺序执行。
不同的任务之间往往需要相互协作,在并发执行多任务的时候,任务之间需要**同步
**,否则就会发生数据竞争的危险,导致数据错误而引起程序运行结果的改变。
通常采用**加锁(lock)
和解锁(unlock)
来实现同步操作,借此直接创立一个仅允许单个处理器操作的互斥
**区域。
敬请各位批评指正。