`package cn.yunhe.xianCheng;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/*
-
卖票功能
-
多线程
-
一个总数
*/
public class ZuoYe {public static void main(String[] args) {
// TODO Auto-generated method stub
Runnable mai = new mai();
Thread c = new Thread(mai,“小陆”);
c.start();
Thread c1 = new Thread(mai,“小可”);
c1.start();}
}
class mai implements Runnable{
int i =100;
Lock lock = new ReentrantLock();
@Override
public void run() {
while(true){
// TODO Auto-generated method stub
try {
lock.lock();
// synchronized (this) {
if(i>0) {
–i;
Thread.sleep(100);
System.out.println(Thread.currentThread().getName()+“还剩”+i+“张票”);
}
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
lock.unlock();
} }
}
}
本文介绍了一个基于Java的多线程售票系统实现案例。通过使用ReentrantLock确保线程安全,两个线程(小陆和小可)并发执行售票操作,演示了如何在多线程环境下控制资源访问,避免竞态条件。
539

被折叠的 条评论
为什么被折叠?



