美文网首页
Java 同步代码块

Java 同步代码块

作者: 133sheiya | 来源:发表于2017-04-27 15:50 被阅读14次

public class ThreadDemo5 {

 public static void main(String[] args) {
  //开启四个线程 实现资源共享的目的
TestThread4 testThread4 = new TestThread4();
Thread thread = new Thread(testThread4);
thread.start();
//资源数据访问不同步
new Thread(testThread4).start();
new Thread(testThread4).start();
new Thread(testThread4).start();

   }

}
class TestThread4 implements Runnable{

private int tickets = 20;
@Override
public void run() {
    // TODO Auto-generated method stub
    //在同一个时间片刻 只能有一个线程来访问这块共享资源
    //只有当访问中的线程离开了,下一个线程才能够访问这块共享资源
    synchronized (this) {//同步线程锁
        while (true) {//进入死循环
            if (tickets > 0) {
                 try {
                    Thread.sleep(100);
                } catch (Exception e) {
                    // TODO: handle exception
                }
                 System.out.println(Thread.currentThread().getName() + "出票号:"+tickets -- );
            }
        }
    }
    
}

}

相关文章

  • Java之同步代码块

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

  • Java代码块详解

    Java中代码块指的是用 {} 包围的代码集合,分为4种:普通代码块,静态代码块,同步代码块,构造代码块 普通代码...

  • Java 多线程

    内置锁 Java提供了内置的锁机制来支持原子性:同步代码块(Synchronized Block)。同步代码块包括...

  • Java 同步代码块

    public class ThreadDemo5 { }class TestThread4 implements ...

  • Java synchronized关键字

    synchronized是Java中的关键字,是一种同步锁。 4种修饰对象 代码块被修饰的代码块叫做同步语句块。{...

  • Java synchronized对象级别与类级别的同步锁

    Java synchronized 关键字 可以将一个代码块或一个方法标记为同步代码块。同步代码块是指同一时间只...

  • Java线程同步代码块

    多线程编程,因为多线程执行是由线程调度器来调度执行,所以在多线程共享同一数据的时候,会出现某些安全问题。 1.线程...

  • Java同步块(synchronized block)

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

  • 【转】Java 同步块

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

  • java同步块

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

网友评论

      本文标题:Java 同步代码块

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