JAVA2

作者: 吃块西瓜写代码 | 来源:发表于2019-06-12 21:16 被阅读0次

JAVA同步问题
线程不安全,数据有负数和相同的情况

*只有修改时才要加锁。synchronized

*保证正确性,效率

package cn.thread;

/*

* 加入sleep后要保障线程安全

* 线程不安全,数据有负数和相同的情况

* 只有修改时才要加锁。synchronized

*保证正确性,效率

*/

public class Web12306 implements Runnable {

private int ticketNums = 10;

private boolean flag = true;

public void run() {

while(flag) {

test();

}

}

//线程安全,同步 。锁的资源,锁的是对象的资源。如果目标不对锁定失败,如果这里面ticketNum从属于另外一个对象将会加锁失败。

public synchronized void test() {

if(ticketNums<0) {

flag = false;

return;

}

try {

Thread.sleep(200);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(Thread.currentThread().getName()+ticketNums--);

}

public static void main(String[] args) {

//一份资源多个代理

Web12306 web = new Web12306();

new Thread(web,"A").start();

new Thread(web,"B").start();

new Thread(web,"C").start();

}

}

相关文章

  • java2

    2.2.4Hibernate(2周) 优先学习和在项目中使用MyBatis,但是公司有些现有项目使用了Hibern...

  • JAVA2

    JAVA同步问题线程不安全,数据有负数和相同的情况 *只有修改时才要加锁。synchronized *保证正确性,效率

  • java2

    java感觉跟nodejs差不多 都需要环境 1.在JDK环境下才有javac 和java这个两个exe工具(注意...

  • Java EE之旅14-Web开发概述

    JavaEE规范 Java2平台有3个版本,它们是: 适用于小型设备和智能卡的Java2平台Micro版(Java...

  • 浅说Java前景

    Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,...

  • 第一个程序HelloWorld

    Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,...

  • java2集合框架的一些个人分析和理解

    转自http://www.cnblogs.com/mengheng/p/3669463.html Java2中的集...

  • Java学习教程之Java零基础入门

    Java分为三个体系: ⒈ JavaSE(J2SE)(Java2 Platform Standard Editio...

  • Effective Java2 摘要

    第1条: 第29条:优先考虑类型安全的异构容器 当一个容器(如Map)实现多种类型的key时,可以使用 Class...

  • 2016年总结与2017年计划

    主要学习方向:Java、CI/CD1、语言: Java2、框架:Spring Boot架构: 微服务Microse...

网友评论

      本文标题:JAVA2

      本文链接:https://www.haomeiwen.com/subject/ovwrfctx.html