美文网首页
同步块demo-03-03

同步块demo-03-03

作者: 封_绝 | 来源:发表于2019-03-03 11:34 被阅读0次

同步块

package cn.ljz.cn.ljz.terminalThread;


/**
 * Created by LIN on 2019/3/3.
 */
public class BuyTicketTest {
    public static void main(String[] args) {
        Syn12306Web web = new Syn12306Web(10);
        new Thread(web, "lin").start();
        new Thread(web, "Mary").start();
        new Thread(web, "Sofia").start();
    }
}

class Syn12306Web implements Runnable {
    int ticketNum;
    boolean flag = true;

    Syn12306Web(int ticketNum) {
        this.ticketNum = ticketNum;
    }
    
    //数据安全:考虑数据完整性,不是代码完整性
    public void test() {
        //考虑没票的情况(个人认为:可能被优化到,但是也可能没有被优化到)
        if (ticketNum <= 0) {
            flag = false;
            return;
        }
        //考虑正常情况和最后一张票的情况
        synchronized (this) {
            if (ticketNum <= 0) {
                flag = false;
                return;
            }
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + "-->" + ticketNum--);
        }
    }

    @Override
    public void run() {
        while (flag) {
            test();
        }
    }
}

相关文章

  • 同步块demo-03-03

    同步块

  • Java16-4 死锁

    死锁有两种情况1、同步嵌套同步方法中嵌套同步代码块或同步代码块嵌套同步代码块出现的错误

  • 释放锁的三种情况

    1.执行完同步方法或同步代码块 2.在同步方法或同步代码块中调用wait方法 3.在同步方法或同步代码块中发生异常...

  • 【synchronized】同步方法与同步块

    这里我们分三块来解读学习: 同步方法思想同步块思想同步方法与同步块的区别 1. 同步方法思想 上面是我画的同步方法...

  • Java同步块(synchronized block)

    Java同步块(synchronized block) Java 同步块(synchronized block)用...

  • 【转】Java 同步块

    转自 Java 同步块 Java 同步关键字(synchronized) Java 中的同步块用 synchron...

  • java同步块

    Java同步关键字(synchronized) Java中的同步块用synchronized标记。同步块在Java...

  • Java之同步代码块

    Java多线程的同步代码块 synchronized(对象){ 需要同步的代码 } 同步代码块可以解决安全...

  • 同步函数,同步代码块

    sychronized修饰函数,则该函数为同步函数,是同步的第二种表现形式。(第一种是同步代码块) 同步函数使用的...

  • 8. Java的Lock锁

    Lock和synchronized同步块一样,是线程的同步机制,而且锁是由synchronized同步块的方式进行...

网友评论

      本文标题:同步块demo-03-03

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