Java线程同步synchronized
来源:互联网 发布:淘宝商品详情图片尺寸 编辑:程序博客网 时间:2024/05/19 22:48
三个窗口卖票的程序。
多线程共同操作一个对象的变量。锁是对象级别的,一个被synchronized修饰的代码块或方法一个时刻只能被一个线程执行。
package fire;public class Seller1 extends Thread{Ticket t = null;public Seller1(Ticket t){this.t=t;}public void run(){int count=0;for(int i=0;i<50;i++){if(Ticket.tickets<=0)break;try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}synchronized(t){--Ticket.tickets;if(Ticket.tickets>=0){//System.out.println("剩余票数:"+Ticket.tickets+"张票"+" 窗口1卖出第"+Ticket.tickets+"张票");System.out.println("剩余票数:"+(Ticket.tickets+1)+"张票 "+Thread.currentThread().getName()+"卖出第"+(Ticket.tickets+1)+"张票");count++;}}}System.out.println("窗口1共卖出"+count+"张");}}
主类
package fire;/** * 三个窗口合作卖票程序 * * 练习了Java的线程synchronized * @author hp * */public class Ticket {static int tickets=50;public static void main(String[] args) {Ticket t = new Ticket();Seller1 s1 = new Seller1(t);Seller1 s2 = new Seller1(t);Seller1 s3 = new Seller1(t);s1.setName("win1");s2.setName("win2");s3.setName("win3");s1.start();s2.start();s3.start();}}
- java 线程同步 synchronized
- java 线程同步 synchronized
- java synchronized 线程同步
- Java 线程同步 synchronized
- Java线程同步synchronized
- java线程同步-synchronized
- java线程同步:synchronized
- java synchronized线程同步
- JAVA 线程同步 synchronized
- java 线程synchronized 线程同步
- java线程同步之synchronized
- Java 线程同步(synchronized)
- java 线程同步:synchronized 关键字
- java线程之同步synchronized
- java中synchronized,线程同步
- Java线程同步问题synchronized
- java线程同步 synchronized同步锁
- java 线程synchronized 线程同步
- 左外连接、右外连接的区别
- Install of ALEVIN
- C Socket初探
- 推荐系统
- 学习外挂编写开发所必备技术
- Java线程同步synchronized
- 三范式的依赖,小小的知识,大大的学问
- Java总结(14) 静态导入 可变长参数
- java中的类
- ORM查询语言(OQL)简介
- Android最佳实践之流畅(Seamlessness)设计
- 黑马程序员 自学日记(六)String 类
- 7月26日
- SQL SERVER 2008 各组件的用途