package com.duoxianc;
public class Tickitethread
{
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException
{
Runnable ticket = new TicketRunnable();
Thread t1 = new Thread(ticket, "window1_sale");
Thread t2 = new Thread(ticket, "window2_sale");
Thread t3 = new Thread(ticket, "window3_sale");
Thread t4 = new Thread(ticket, "window4_sale");
t1.start();
t2.start();
t3.start();
t4.start();
// //反射机制
// Class cls=Tickitethread.class;
// System.out.println(cls.getClass());
// //得到对应的class路径
// Class<?> obj = Class.forName(new Tickitethread().getClass().getName());
// //通过Class类对象的方法得到对应实例 根据类路径得到对象
// Tickitethread tik=(Tickitethread)obj.newInstance();
// System.out.println(obj.newInstance().getClass().getName());
}
}
class TicketRunnable implements Runnable
{
private int ticketNum = 10;
public void run()
{
//同步代码块
synchronized (new Object())
{
while (true)
{
if (ticketNum > 0)
{
try
{
Thread.sleep(0);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ":" + ticketNum--);
// TODO Auto-generated catch block
}
else
break;
}
}
}
}
多线程例子
最新推荐文章于 2022-03-30 00:20:00 发布