当前位置: 首页 > news >正文

题目:两个线程交替输出1-100的数字,例如:t1--》1,t2--》2,....

题目:两个线程交替输出1-100的数字,例如:t1–》1,t2–》2,…

方法1:

要实现两个线程交替输出1到100的数字,可以使用信号量(Semaphore)来控制线程的执行顺序。每个线程在输出后释放对方的信号量,从而实现交替执行。

import java.util.concurrent.Semaphore;public class AlternatePrinting {private static int num = 1;private static final int MAX = 100;private static Semaphore s1 = new Semaphore(1); // 线程1先执行private static Semaphore s2 = new Semaphore(0); // 线程2等待public static void main(String[] args) {Thread t1 = new Thread(() -> {while (true) {try {s1.acquire(); // 获取s1许可if (num > MAX) {s2.release(); // 确保线程2能退出break;}System.out.println

相关文章:

  • 本地文件操作 MCP (多通道处理) 使用案例
  • DeepSearch:字节新一代 DeerFlow 框架
  • Swagger使用
  • 全栈项目中是否可以实现统一错误处理链?如果可以,这条链路该如何设计?需要哪些技术支撑?是否能同时满足性能、安全性和用户体验需求?
  • 机器学习 --- 模型选择与调优
  • 山东大学计算机图形学期末复习8——CG11下
  • ElfBoard技术实战|ELF 2开发板本地部署DeepSeek大模型的完整指南
  • C#发送文件到蓝牙设备
  • 【实战篇】低代码报表开发——平台运营日报表的开发实录
  • Spring 框架 JDBC 模板技术详解
  • SQL实战:06交叉日期打折问题求解
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- MCP内幕解析
  • 观QFramework框架底层逻辑有感
  • 经典卷积神经网络
  • Secs/Gem第四讲(基于secs4net项目的ChatGpt介绍)
  • 开源免费iOS或macOS安装虚拟机运行window/Linux系统
  • Qt中控件的Viewport作用
  • 服务器连接多客户端
  • 文章复现|(1)整合scRNA-seq 和空间转录组学揭示了子宫内膜癌中 MDK-NCL 依赖性免疫抑制环境
  • 数据结构中双栈的实现方法分享
  • 铁路端午假期运输火车票今日开售,12306提升应对超大规模并发访问需求能力
  • 娃哈哈:调整产销布局致部分工厂停工,布局新产线可实现自主生产,不排除推新品牌
  • 张广智︱“编年事辑”:打开学人心路历程的窗户
  • 从能源装备向应急装备蓝海拓展,川润股份发布智能综合防灾应急仓
  • 紫光集团原董事长赵伟国一审被判死缓
  • 外交部:反对美方人士发表不负责任谬论