java runnable-用runnable接口出现一部分资源不共享的 ticket10在第一次出现了两次

问题描述

用runnable接口出现一部分资源不共享的 ticket10在第一次出现了两次

个人感觉有可能是sleep影响的 取消try catch语句就没错了 这个程序平均几次会出现重复ticket0 为什么会这样呢?

解决方案

这和try catch没关系。

你这个是因为System.out.println没有设置同步的问题,也就是线程安全问题
可以把输出语句写到独立方法

 synchronized private void out(){
        System.out.println("卖票:ticket"+this.ticket--);
    }

这样应该就不会有问题了

时间: 2024-10-31 05:23:08

java runnable-用runnable接口出现一部分资源不共享的 ticket10在第一次出现了两次的相关文章

Java命名与目录接口——JNDI

JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识.JNDI到底起什么作用?   没有JNDI的做法 程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的 JDBC URL 连接到数据库. 就像以下代码这样: Connection co

Java命名和目录接口——JNDI

JNDI即Java命名和目录接口(JavaNaming and Directory Interface),它属于J2EE规范范畴,是J2EE的核心技术之一,提供了一组接口.类和关于命名空间的概念.JDNI是provider-based技术,它暴露一个API和一个服务供应接口(SPI).它将名称和对象联系起来,使我们可以用名称访问对象.我们可以把JNDI简单地看成是里面封装了一个name到实体对象的映射,通过字符串可以方便得到想要的对象资源,例如JDBC.JMail.JMS.EJB等.这意味着任何

asp怎么访问java的短信接口

 asp 如何访问java的短信接口 对方程序是java做的,提供了一个地址,还有用户名,密码 说往这里传参数就可以发短信,我用ie直接访问此地址,看到的是一个xml文件asp这边需要如何传递短信的一些参数还有用户名密码给对方呢希望别贴教程,点拨一下最好,因为我从网上找了一些范例,但总是只返回状态200 ok 没有任何返回值,也没有发送成短信,所以不知道为什么了用户名密码是用来识别是谁要调用此接口发短信对方提供的url地址 http://10.13.255.196/SmsDownlinkRece

接口继承-关于java中Dao模块接口问题,请教一下原理

问题描述 关于java中Dao模块接口问题,请教一下原理 BaseDao.java public interface BaseDao {} BaseDaoImpl.java public abstract class BaseDaoImpl implements BaseDao {} UserService.java public interface UserService extends BaseDao{} UserServiceImpl.java public class UserServi

java中监听接口里面的onclick方法为什么被称为回调方法

问题描述 java中监听接口里面的onclick方法为什么被称为回调方法 那普通接口有回调方法吗,普通类有回调方法吗, 回调方法是如何定义的 解决方案 你别被回调这个词搞蒙了,其实就是把方法当做参数而已 解决方案二: 因为onclick你定义了,不是自己调用,而是间接由按钮点击后系统类库去调用,所以叫回调. 英文叫做callback. 解决方案三: 回调方法简单的说就是a方法都用b方法,b方法执行过程中需要调用a方法,callback 解决方案四: [个人向]Android回调接口的实现方法ja

java类的问题-java编写zebra打印机接口

问题描述 java编写zebra打印机接口 目前有个管理系统,里面有个打印条形码按钮,按下后直接可以让连接的条形码打印机进行打印,该怎么实现这个功能,在线等! 解决方案 设置纸张大小生成图片然后打印

java中实现Serializable接口的类有什么特点?

问题描述 java中实现Serializable接口的类有什么特点? java中实现Serializable接口的类有什么特点,还看到这个实现该接口的类里面一个常量,private static final long serialVersionUID = 1L;如何理解这个常量呢 解决方案 Serializable是一个标识接口,没有需要实现的方法,凡是实现该接口的类都可以进行序列化和反序列化操作. 实现serializable接口的作用是就是可以把对象存到字节流,然后可以恢复.所以你想如果你的

详解 JAVA 适配模式和 接口适配器

 JAVA适配模式 意图将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.(GoF) 场景 相信很多人都知道什么是显卡,也有很多人知道显卡的本名--图形适配器.恩,是的,正好这回说说Apater模式,就拿显卡来例子来分析一下Adapter模式. 我们知道显示器(Client)是用来显示图形的,它是不能显示数据,它只能够接受来自图形发送设备Target的信号.可是我们手头上只有CPU(Adaptee)这个产生各种描述图形的数据的

详解 JAVA 适配模式 和 接口适配器

JAVA适配模式 意图将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.(GoF) 场景 相信很多人都知道什么是显卡,也有很多人知道显卡的本名--图形适配器.恩,是的,正好这回说说Apater模式,就拿显卡来例子来分析一下Adapter模式. 我们知道显示器(Client)是用来显示图形的,它是不能显示数据,它只能够接受来自图形发送设备Target的信号.可是我们手头上只有CPU(Adaptee)这个产生各种描述图形的数据的数