首页 > 开发 > Java > 正文

java Lock接口详解及实例代码

2024-07-13 10:03:33
字体:
来源:转载
供稿:网友

java/210575.html">javascript/49603.html">java  Lock接口

java.util.concurrent.locks

接口Lock

public interface Loce

Loce实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作

import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock; public class IntegerDemo {  public static void main(String[] args) {    // 创建3个线程对象    SellTicket st = new SellTicket();     Thread t1 = new Thread(st, "窗口1");    Thread t2 = new Thread(st, "窗口2");    Thread t3 = new Thread(st, "窗口3");     // 启动线程    t1.start();    t2.start();    t3.start();  }} class SellTicket implements Runnable {  private int ticket = 100;  private Lock lock = new ReentrantLock();   public void run() {    while (true) {      lock.lock();       if (ticket > 0) {        try {          Thread.sleep(100);        } catch (InterruptedException e) {          // TODO Auto-generated catch block          e.printStackTrace();        }         System.out.println(Thread.currentThread().getName() + "正在出售第" + (ticket--) + "张票。");      }       lock.unlock();    }  }}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表