如下:classTick{privateinttick=10;publicintgetTick(){returntick;}publicvoidsetTick(inttick){this.tick=tick;}}classTicketextendsThread{Ticktick;Ticket(Ticktick){this.tick=...

如下:

class Tick

{

private int tick = 10;

public int getTick(){

return tick;

}

public void setTick(int tick){

this.tick = tick;

}

}

class Ticket extends Thread

{

Tick tick;

Ticket(Tick tick){

this.tick = tick;

}

public void run(){

while(tick.getTick()>0){

int temp = tick.getTick();

System.out.println(currentThread().getName()+"---sale"+temp--);

tick.setTick(temp);

}

}

}

class TicketDemo

{

public static void main(String[] args)

{

Tick t = new Tick();

Ticket t1 = new Ticket(t);

Ticket t2 = new Ticket(t);

t1.start();

t2.start();

}

}

随机一个结果如下:

我想问一下,为什么两个线程中的tick不是唯一的呢?

另外,我知道可以定义static,但是我想不使用static让tick唯一,所以定义一个Tick类,然而从代码上看我感觉tick是唯一的,没想打结果并不是

再者,线程安全我暂时不想考虑,虽然确实是不安全的,但是不安全是应该出现0,负数等情况,没理由出现重复吧。

所以,还是想问一下tick不唯一的原因,谢谢。

展开

java tick_java中这段代码里的tick为什么不唯一相关推荐

  1. java tick_Java中这段代码的tick为什么不是唯一的?

    如下:classTick{privateinttick=10;publicintgetTick(){returntick;}publicvoidsetTick(inttick){this.tick=t ...

  2. bootstrap 中这段代码 使bundles 失败

    bootstrap 中这段代码 使bundles 失败 _:-ms-fullscreen, :root input[type="date"], _:-ms-fullscreen, ...

  3. 日志中每段代码执行时间的和不等于整段代码执行的总时间

    代码逻辑: def  getInlink() A  -> B  -> C ->  D 在tornado中调用getInlink @tornado.gen.coroutinedef g ...

  4. 【代码调优】Java开发中总结的代码质量优化技巧,springboot企业级开发教程

    SELECT * FROM db_user WHERE username='validuser' OR '1'='1' AND password='' 同样,攻击者可以为password提供如下字符串 ...

  5. Java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库:创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lan ...

  6. 完整java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  7. java tick_Java中的Clock tick()方法

    可以使用tick()Java中Clock类中的方法在所需的时间范围内舍入基本时钟的瞬间.此方法需要两个参数,即基本时钟和滴答的持续时间.同样,返回在所需持续时间内四舍五入的基本时钟时刻. 演示此的程序 ...

  8. 【转】完整java开发中JDBC连接数据库代码和步骤

    2019独角兽企业重金招聘Python工程师标准>>> 1 .加载JDBC驱动程序:        在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   ...

  9. java怎么中断流_JAVA代码运行中断

    publicclassImageReduce{/*对图像进行缩放处理*/publicvoidscale(StringsrcImageFile,Stringresult,doublescale,bool ...

最新文章

  1. 在Java中使用redisTemplate操作缓存
  2. P1435 回文字串(DP)
  3. Linux下查看在运行进程的命令
  4. mysql 函数依赖关系_MySQL关系规范化
  5. PL/SQL-2 复合数据类型
  6. JZOJ 3775. 【NOIP2014模拟8.15】因子的排列
  7. RecyclerView 显示不全的问题.
  8. linux -组管理和权限管理
  9. php代码加注释_怎么在php中添加注释
  10. 忽略异常_忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目...
  11. OpenShift 之 Quarkus(3)用独立的Prometheus监控Quarkus应用
  12. 第十八章_后端架构选型、离线及实时计算
  13. SpringCloud学习之Hystrix
  14. php smarty 语法,5. Smarty基本语法
  15. Structs2-Action
  16. Eucalyptus环境搭建
  17. Nios II自学笔记一:Nios II软硬件架构介绍
  18. sqlite developer过期解决办法
  19. IP地址后面/24/26/27/28/29/30网关数量分别是多少?如何计算?
  20. 将分子SMILES生成DGLGraph

热门文章

  1. 天籁obd接口针脚定义_OBD各针脚定义
  2. FuzzFactory: Domain-Specific Fuzzing with Waypoints
  3. java将WORD文档转换成pdf文件
  4. 《云云众声》第97期:关于云计算 不可不说的大事小情
  5. 腾讯视频网页版无法打开的问题
  6. SSLDOS攻击神器---THC-SSL-DOS 使用笔记
  7. 程序员推荐简单有效的科学健脑方法
  8. 4月15日欧美小长假 主力休息对市场有何影响?
  9. 网络编程(四) ———— UDP首部格式
  10. fiddler抓包过程以及fiddler抓包手机添加代理后连不上网解决办法