1.为什么需要并行?
性能 :
在多核CPU提高性能
业务需求 :
并行计算还出于业务模型的需要
– 并不是为了提高系统性能,而是确实在业务上需要多个执行单元。
– 比如HTTP服务器,为每一个Socket连接新建一个处理线程
– 让不同线程承担不同的业务工作
– 简化任务调度
2.概念
同步(synchronous)和异步(asynchronous) 【对于方法 而言】
等待 方法返回
返回很快 并不是调用完成,后台起一个线程处理这个事情,不影响做下面的事情
并发(Concurrency)和并行(Parallelism) 【外在表象来看是一样的】
并发和并行都可以是很多个线程,就看这些线程能不能同时被(多个)cpu执行,如果可以就说明是并行,而并发是多 个线程被(一个)cpu 轮流切换着执行。
临界区
临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程
使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。