美文网首页
Java用synchonized来修饰方法 实现同步访问

Java用synchonized来修饰方法 实现同步访问

作者: 133sheiya | 来源:发表于2017-04-27 16:06 被阅读41次

/***

  • 除了可以对代码块进行同步外。也可以对方法进行方法同步
  • @author bo

*/

public class ThreadMet {

   public static void main(String[] args) {

   TestThreadM threadM = new TestThreadM();

   Thread thread = new Thread(threadM);
   //开启多线程
   thread.start();

}
}
class TestThreadM implements Runnable{

private int tickets  =  20;

@Override
public void run() {
    // TODO Auto-generated method stub
    while (true) {
        saleTicket();
    }
}

public synchronized void saleTicket() {//synchronized方法来实现同步....
    if (tickets > 0) {
        try {
            Thread.sleep(100);
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e.getMessage());
        }
        System.out.println(Thread.currentThread().getName() + "当前的票" +tickets--);
    }
}

}

使用synchonized方法来实现线程之间的同步,当有一个线程进入到synchonized方法修饰的方法中的时候,其他的线程并不能进入此方法区域,直到第一个线程执行完成并且离开后,释放了它的响应权。其他线程才能进入到此区域..

相关文章

  • Java用synchonized来修饰方法 实现同步访问

    /*** 除了可以对代码块进行同步外。也可以对方法进行方法同步 @author bo */ public clas...

  • java同步线程(二)

    java同步线程(二) 同步方法: 使用synchronized关键字来修饰某个方法,则该方法称为同步方法。同步方...

  • Java面试基础(五)

    41、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不...

  • Java线程相关[转]

    1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推...

  • java中修饰符的用法

    java中可以使用访问控制符来保护对类、变量、方法和构造方法的访问。其类别可分为访问控制修饰符和非访问修饰符 访问...

  • coreJava_9——访问控制

    五. 访问控制 面向对象的基本思想之一是封装实现细节并且公开方法。Java语言采用访问控制修饰符来控制类及类的方法...

  • 怎么处理JAVA多线程死锁问题?

    有两种实现方法,分别是继承Thread类与实现Runnable 接口用synchronized关键字修饰同步方法注...

  • 封装

    优秀文章 菜鸟教程 > Java 封装 说明 封装是对抽象的编码实现;<个人理解> 封装的实质是用访问修饰符来控制...

  • java基本知识之协程

    Java 支持多个线程同时访问一个对象或者对象的成员变量,关键字synchronized 可以修饰方法或者以同步块...

  • 日常记忆Java修饰符

    Java修饰符 Java语言提供的很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符修饰符用来定义类、方法或...

网友评论

      本文标题:Java用synchonized来修饰方法 实现同步访问

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