两个线程交替输出内容

2023-10-27

public class App {

    public static void main(String[] args) throws Exception {
        sellTicket s = new sellTicket();
        Thread t1 = new Thread(s);
        Thread t2 = new Thread(s);
        t1.setName("t1");
        t2.setName("t2");
        t1.start();
        t2.start();
    }

}

class sellTicket implements Runnable {

    private int count = 1;

    @Override
    public void run() {
        while (true) {
            synchronized (this) {
                this.notify();
                if (count <= 100) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println(Thread.currentThread().getName() + "购买了第" + count + "张票");
                   count++;
                    try {
                        this.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                } else {
                    break;
                }

            }
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两个线程交替输出内容 的相关文章

  • java try catch 程序流程什么时候中断?

    你好 我对 Java 中的异常处理不太熟悉 所以 正如主题在基本 try catch 块中所述 当我在 Try 块中捕获异常时 程序流程何时中断 try some code that raises an Exception catch Ex
  • Mongo 可审核的 ZonedDateTime 字段在 Spring Boot 2 中不起作用

    在 Spring Boot 项目中 我使用 CreatedDate 之类的注释来保存有关创建 更新相应文档的日期的信息 整个项目都使用 ZonedDateTime 因此带注释的字段也是 ZonedDateTime 为了实现 Mongo 的日
  • 使用 Maven 生成 Eclipse 项目文件

    当我尝试使用生成 Eclipse 项目文件时mvn eclipse eclipse我收到以下错误 插件管理器执行目标时出现内部错误 org apache maven plugins maven eclipse plugin 2 9 SNAP
  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • H.323,如何制作一个没有媒体的简单环。该脚本遵循 Q.931 设置,但仍然无法正常工作

    谁能帮我解决这个问题吗 当我发送此请求时 我在wireshark中看到数据包将发送到1720 tcp端口中的SJPhone 但 SJPhone 仍然没有响铃 我想让它响起 无论媒体 我非常感谢您的支持 我一定缺少消息协议细节来实现这个 请给
  • 如何实现具有LinkedHashMap类似功能的ConcurrentHashMap?

    我用过LinkedHashMap with accessOrdertrue 并同时允许最多 500 个条目作为数据的 LRU 缓存 但由于可扩展性问题 我想转向一些线程安全的替代方案 ConcurrentHashMap在这方面似乎不错 但缺
  • Spring boot 2.0.5.RELEASE和mongo 4.0连接问题

    我正在关注使用 MongoDB 访问数据教程春季网站 https spring io guides gs accessing data mongodb 我将 Mongo DB 服务器版本 4 安装为服务当我使用客户端连接到它时 它的身份验证
  • 帮助我避免 JPA、Hibernate 和 MySQL 的连接超时

    我正在使用 JPA Hibernate 作为提供者 Glassfish 和 MySQL 开发中一切都运行良好 但是当我将应用程序部署到测试服务器并让它运行 大部分空闲 过夜时 我通常会在早上遇到这样的情况 2011 03 09T15 06
  • Java“空白最终字段可能尚未初始化”方法中抛出异常

    我有一些代码 例如 final int var1 if isSomethingTrue var1 123 else throwErrorMethod int var2 var1 throwErrorMethod 的定义如下 private
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • spring mvc 跟踪引用页面

    在基于注释的弹簧控制器中 如果用户正在url com first page并点击一个链接或提交一份表格指出url com second page 如何制作second page知道url of first page所以这样second pa
  • Java 中的 MP4 容器编写器

    我想找到一个免费的 Java MP4 容器 编写器 我不需要编码器 只需要能够根据预期值写入正确原子的编码器 Bonus对于这样一个库 也可以编写 有效 F4V 我更喜欢纯 Java 解决方案 而不是使用 JNI 或外部可执行文件的解决方案
  • 在 Java 中创建带注释的对象时收到通知

    Intent 我有一个自定义 Java 注释 DynamicField public class RESTEndpointInvoker DynamicField key httpTimeout private long httpTimeo
  • Spring Transactional 减慢了整个过程

    我正在尝试分析我有两堂课的情况 其中一个类是 ProcessImpl 它是起点并在内部调用其他子事务 我不知道出了什么问题 processImpl正在导入一些东西并将相关数据写入数据库 Specs Spring orm版本 3 2 18 发
  • Struts2中的变量声明

    Struts2中如何声明变量并为该变量赋值 使用设置标签
  • Java 可变 BigInteger 类

    我正在使用 BigIntegers 进行计算 该计算使用一个调用 multiply 大约 1000 亿次的循环 并且从 BigInteger 创建新对象使其非常慢 我希望有人编写或找到了 MutableBigInteger 类 我在 jav

随机推荐

  • 《C++ Primer Plus》第四章 复合类型 4.12复习题答案

    1 char actor 30 0 short bstsie 100 0 float chuck 13 0 long double dipsea 64 0 2 array
  • QT 窗口与视口(setWindow/setViewPort)的一些理解与整理

    QPainter drawRect QRectF 绘制图形传入的是世界坐标 而后经过变换矩形变为窗口坐标 最后经过窗口 视口变换变为设备坐标 其中世界坐标系和窗口坐标系都属于逻辑坐标系 设备坐标系属于物理坐标 世界坐标 窗口坐标和设备坐标
  • ffmpeg编译,ffplay播放RTSP流,音频格式为AAC-ELD

    rtspServer已经ready 音频格式为AAC ELD encoder 为libfdk aac 发现VLC和ffplay不能正常解码AAC ELD FFmpeg可以支持3钟AAC LC编码器 aac libfaac libfdk aa
  • 改变 el-dialog 的宽度

    在 el dialog 增加 customClass 且在全局 style 里 写 style 去掉scoped
  • VS2022 无法启动程序,不是有效的Win32应用程序

    如果这里确定是 exe了 那就点击生成 gt 重新生成解决方案 不要点击生成解决方案 那个没用 然后就行了
  • 登录数据库

    登录数据库 数据库 数据库是一个以某种有组织的方式存储的数据集合 理解数据库的一种最简单的办法是将其想象为一个文件柜 此文件柜是一个存放数据的物理位置 不管数据是什么以及如何组织的 数据库 database 就是保存有组织的数据的容器 通常
  • JSON.stringify()的深入用法——第2、3个参数

    第2个参数 作用 用于过滤 格式化 没有或者是null 则所有属性被序列化JSON stringify name Ben age 18 JSON stringify name Ben age 18 null name Ben age 18
  • 信息检索复习笔记

    第一讲 搜索 IR 信息检索是什么样的学科 实质上是融合了文本及多媒体检索 数据挖掘 机器学习和自然语言处理的综合学科 为什么要进行信息检索 信息过载 搜索 搜索的过程 从大规模非结构化数据 通常是文本 的集合 通常保存在计算机上 中找出满
  • java高级:注解

    目录 认识注解 自定义注解 元注解 解析注解 注解的应用场景 认识注解 自定义注解 注解和反射一样 都是用来做框架的 我们这里学习注解的目的其实是为了以后学习框架或者做框架做铺垫的 先来认识一下什么是注解 Java注解是代码中的特殊标记 比
  • linux配置定时crontab任务详细步骤

    liunx服务器系统为suse 以这个为例 每一步都进行过测试 请按照步骤来 1 首先查看服务器crontab任务 crontab l 出现上图 表示没有配置任何定时任务 如果出现no crontab for root不用管 2 创建执行脚
  • 2020全国职业技能大赛嘉兴市“网络空间安全赛项”赛题及赛题解析(超详细)

    2021年中职组 网络空间安全 赛项 一 嘉兴市竞赛任务书 二 任务书解析 三 任务书答案 四 不懂的可以私信博主 一 嘉兴市竞赛任务书 一 竞赛时间 8 00 11 00 共计180分钟 二 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时
  • 用java的stream流库在实际项目的使用案例

    由于自己用stream lambda很不熟悉 用文章记录在一个电商项目中的用法 购物车模块 获取购物车 校验 是否有商品 库存 List
  • 5岁自学python编程-三十岁了还可以学编程吗?只要你想,只要你做,什么时候都不晚...

    文章有点长 希望你可以看完 如果能给迷茫的朋友一点勇气 我不胜荣幸 做一件事最好的时间是十年前 其次是现在 如果想学编程却苦于不知道从何开始 也没有系统的学习路径 那就来加入我们一起学习 在这里不必担心年龄大 因为你肯定不是最大的 在这里不
  • C++,多态练习

    一 定义基类Animals 以及多个派生类 基类中至少包含虚函数perform include
  • Tomcat启动:Cannot start server. Server instance is not configured.

    Cannot start server Server instance is not configured 在myeclipse中建立虚拟目录的时候不小心物理路径中出现了中文 出现了 服务器 无法启动的问题 所以编码过程中涉及路径的最好不要
  • 14个只有网安人才听得懂的「职场黑话」!

    各行各业中基本都有 职场黑话 网安行业当然也不例外 这些 职场黑话 外行人看可能会一脸懵 但作为一名优秀的网安人来说 你一定要看得懂 1 HVV 把 VV 换成 W 再拿拼音拼一下 懂的都懂哈 2 哥斯拉 不是怪兽哥斯拉 是神器哥斯拉 3
  • Var,Let,Const的区别与使用

    一 为什么要用let const来替代var呢 var具有的特点 1 变量提升 2 可以重复定义 3 没有块级作用域的概念 let和const的特点 let 定义变量 无变量提升 有块级作用域 不允许重复命名 const 定义常量 不允许重
  • python随机选取字符串_Python random模块sample、randint、shuffle、choice随机函数概念和应用...

    Python标准库中的random函数 可以生成随机浮点数 整数 字符串 甚至帮助你随机选择列表序 列中的一个元素 打乱一组数据等 random中的一些重要函数的用法 1 random 返回0 lt n lt 1之间的随机实数n 2 cho
  • iOS编程之——引用系统外字体(自定义字体)

    1 先去网站下载一个字体包 也就是 tff文件 不知道怎么下载的可以度娘 2 将下载后的 tff文件加载到我们的包里面 3 配置Plist文件 这是关键一步 4 OK 现在运行一下 就能看到我们添加的字体了 这就是我们添加到里面的字体了 别
  • 两个线程交替输出内容

    public class App public static void main String args throws Exception sellTicket s new sellTicket Thread t1 new Thread s