java Lock 接口详解及实例代码
这里有新鲜出炉的 Java 并发编程示例, 程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 java Lock 接口详解及实例代码的相关资料, 需要的朋友可以参考下
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();
- }
- }
- }
来源: http://www.phperz.com/article/18/0208/358656.html