volatile 关键字的应用 — 打印递增数字

本文探讨如何使用Java的volatile关键字确保多线程环境下递增打印数字的正确性。通过创建三个线程,每次打印10个数字,确保线程间的可见性和同步。文章提供代码示例,解释了volatile的用法以及如何避免线程竞争问题。
摘要由CSDN通过智能技术生成

本题考察你对 volatile 关键字的掌握,请编写代码,实现通过三个线程来递增打印数字。

在 Solution 类中,已经定义了 threadId 代表当前线程的 idself 代表当前线程自身,你可以根据需要自行添加新的成员变量Solution 类继承了 Runnable 类,你需要重写 run() 方法以达到递增打印数字的目的。其中,你需要启动 3 个线程分别打印 5 个数字,如:线程1 需要打印 1, 2, 3, 4, 5线程2 需要打印 6, 7, 8, 9, 10线程3 需要打印 11, 12, 13, 14, 15,接着再由 线程1 打印接下来的 5 个数字。以此类推,直到打印到 28 为止。

你的代码应该输出:

Thread 1: 1
Thread 1: 2
Thread 1: 3
Thread 1: 4
Thread 1: 5
Thread 2: 6
Thread 2: 7
Thread 2: 8
Thread 2: 9
Thread 2: 10
Thread 3: 11
Thread 3: 12
Thread 3: 13
Thread 3: 14
Thread 3: 15
Thread 1: 16
Thread 1: 17
Thread 1: 18
Thread 1: 19
Thread 1: 20
Thread 2: 21
Thread 2: 22
Thread 2: 23
Thread 2: 24
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值