面试官: 说一下线程间的通信

前言

目前正在出一个Java多线程专题长期系列教程,从入门到进阶含源码解读, 篇幅会较多, 喜欢的话,给个关注❤️ ~

合理的使用多线程能够更好的利用服务器资源,一般来讲,每个线程内部都有自己的上下文,它们之间互不干扰。但是我们有时候需要多个线程之间互相协作,就需要我们掌握线程的通信方式。

首先我们先了解一下的概念,之前我们也遇到过,但是没有细讲,今天就把概念理清楚了。在Java多线程中,一把在同一时刻只能被一个线程获取,其它线程想要获取它,必须等待该线程释放锁,这时候就牵扯到同步的概念了。因为锁的机制,我们可以使线程可以同步执行,下面以打印数字为例,看下区别

  • 无锁
t2
t1

其它方式

其实我们之前讲的join(),sleep()...这些其实也是这一部分内容,总的来说,它们之间互相协作,具体用法可以看前面的文章,这里就不一一介绍了

结束语

下一节,带大家学习一下Java的内存模型,其实这也是多线程的一部分,一切都是为了铺垫, 等讲到高级概念的时候,听起来就不会那么难了 ~

往期内容推荐

项目源码(源码已更新 欢迎star⭐️)

  • java-thread-all

  • 地址: https://github.com/qiuChengleiy/java-thread-all.git

推荐 SpringBoot & SpringCloud (源码已更新 欢迎star⭐️)



本篇文章来源于微信公众号: 程序员皮卡秋



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-06-27