转载请注明出处 http://www.paraller.com
原文排版地址 点击获取更好阅读体验缓存
程序在等待操做执行完成的空档,运行另外一个程序 提升资源利用率。安全
用户对于计算机的使用权,经过粗粒度的时间分片 使得用户和程序共享资源程序。多线程
一个任务分解多个子任务,必要时通讯共同完成任务。异步
对于单线程而言,若是要高效处理多个操做,必须使用非阻塞IO,复杂且易错,若是可以为每一个请求分配线程将下降开发的难度性能
线程容许在同一个进程中同时存在多个程序控制流,线程会共享进程中的资源;每一个线程有各自的 程序计数器、栈、局部变量。同一个进程中的多个线程也能够被同时调度到多个CPU上运行。优化
对共享的可变的变量进行没法预测顺序的操做,将会形成与预期不一致的结果。线程
某个操做没法继续进行下去:A线程占有资源长时间不释放,致使B线程没法继续操做code
线程共享数据/使用同步机制:抑制编译器的优化、缓存失效、共享内存总线的同步流量对象
核心在于: 避免多线程同时访问可变状态进程
共享
可变的
状态访问操做进行管理必须使用同步
重入:线程获取本身持有的锁,请求会得到成功
用同步来协调对一个变量的访问