java并发编程——并行和并发(1)

本文探讨了并行计算的重要性,特别是在多核CPU环境下提升性能的方法。同时,文章区分了同步与异步、并发与并行的概念,并介绍了临界区的作用。

1.为什么需要并行?
性能 :

在多核CPU提高性能

业务需求 :

并行计算还出于业务模型的需要
– 并不是为了提高系统性能,而是确实在业务上需要多个执行单元。
– 比如HTTP服务器,为每一个Socket连接新建一个处理线程
– 让不同线程承担不同的业务工作
– 简化任务调度

2.概念
 同步(synchronous)和异步(asynchronous) 【对于方法 而言】

等待  方法返回
返回很快  并不是调用完成,后台起一个线程处理这个事情,不影响做下面的事情

 并发(Concurrency)和并行(Parallelism) 【外在表象来看是一样的】

并发和并行都可以是很多个线程,就看这些线程能不能同时被(多个)cpu执行,如果可以就说明是并行,而并发是多        个线程被(一个)cpu 轮流切换着执行。

 临界区

clipboard.png

临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程

使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值