关于并发必须知道的几个概念:

本文介绍了并发编程中的核心概念,包括同步与异步的区别,线程同步与异步的实现,以及并发与并行的解释。通过示例说明了临界区、阻塞与非阻塞、死锁、饥饿和活锁等并发问题,帮助读者深入理解并发编程中的常见现象和处理机制。
摘要由CSDN通过智能技术生成

在这里插入图片描述
关于并发必须知道的几个概念:

同步和异步

同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中“真实”地执行。整个过程,不会阻碍调用者的工作。

线程同步和线程异步

线程同步:

即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。

在java中,线程同步的实现机制有很多种。比如最简单的synchronized关键字,以及读写锁,重入锁等锁机制。

线程异步:

指的是当有一个线程在调用某个方法的时候,这个方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。

在spring3.0之后,提供了@Async注解来开辟一个独立的线程用于异步执行方法。还可以使用自己创建线程池ThreadPoolExecutor,手动调用的方法来开辟异步线程。

并发和并行

并发:

在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值