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

题目:两个线程交替输出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
http://www.xdnf.cn/news/6528.html

相关文章:

  • 最小生成树(竞赛)
  • python基础语法(三-上)
  • 技术文档:变频器干扰问题与解决方案
  • 印度全印度游戏联合会(AIGF)介绍与用途
  • 本地化部署HomeAssistant语音助手并接入DeepSeek
  • git 本地提交后修改注释
  • 数控机床控制单元技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的赛扬N100/N150国产化替代全场景解析
  • Seata源码—3.全局事务注解扫描器的初始化二
  • Femap许可用户行为分析
  • 培训考试系统在职业技能培训中发挥着怎么样的作用
  • 乡村地区无人机医药配送路径规划与优化仿真
  • 山东大学计算机图形学期末复习整理5——CG10上
  • FTP 工具 vs. 命令行 SCP/RSYNC
  • (十九)Java集合框架深度解析:从基础到高级应用
  • Linux 内核核心知识热点题分析:10 个连环打通的难点
  • Modern C++(一)基本概念
  • 养生:健康生活的极简攻略
  • free void* 指令
  • list简单模拟实现
  • miniconda
  • 智能手表集成测试报告(Integration Test Report)
  • 磁盘性能测试与分析:结合fio和iostat的完整方案
  • muduo库中Channel模块的深度解析
  • LeetCode 3337.字符串转换后的长度 II:矩阵快速幂(也没有想象中的那么高级啦)
  • 小白上手RPM包制作
  • InforSuite RDS 与django结合
  • 21、工业大数据分析与实时告警 (模拟根因分析) - /数据与物联网组件/bigdata-root-cause-analysis
  • 创建你的第一个MCP服务
  • 【ROS2】ROS节点启动崩溃:rclcpp::exceptions::RCLInvalidArgument
  • Redis 大 key 问题解决方案