文章 2023-12-28 来自:开发者社区

【多线程】两个线程轮流打印数字1-100,一个打奇数一个打偶数,顺序打印

在今天的美团二面中,遇到了这个问题,一时间只想起来了解法,手写没有写出来利用volatile的可见性,来对于线程进行一些获取,进行改变~package mianTest; // 单纯的利用boolean变量来写 加一个volatile关键字:保证他的可见性 public class Demo01 { volatile static int flag = 0; public static ...

文章 2023-12-13 来自:开发者社区

线程间通信实例之轮流打印ABC

线程间通信,就要联想到Object的wait、notify、notifyAll和Lock.new Condition()的await、signal、signalAll。【1】需求一,三个线程顺序打印ABC,每个线程打印十次,ABC分别为线程名字效果如下:A A A A A A A A A A //BC依次排列 使用synchronized、wait、notifyAll实例代码如下:public ....

线程间通信实例之轮流打印ABC
文章 2023-07-21 来自:开发者社区

面试热点详解 —— 三个线程轮流打印

问题三个线程轮流打印,其中一个线程打印a,一个打印b,最后一个打印c。最终形成abcabcabc…这样的字符串考虑点:字符串的第一个字符必须是a,很多方案在代码层级按ABC启动了线程,尽管大概率会遵循代码的先后顺序,但实际上谁先启动成功或谁先获得锁,逻辑上仍然是无法确定的,...

面试热点详解 —— 三个线程轮流打印
文章 2022-04-24 来自:开发者社区

使用自旋算法实现“两个线程轮流打印0到100奇偶数?”

本次循环不该打印时,让线程代码自旋;等待另外的线程递增而引起本线程再次进入业务代码。volatile static int i = 0; public static void Main(String[] args) { Thread thread1 = new Thread(() => ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。