阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
//模拟售票厅售票情况:假设有10张票,有4个售票窗口.
//用继承Thread创建线程的方式
/*
class TicketMan
{
	public static void main(String[]args)
	{
	//创建4个线程
	Ticket t0=new Ticket();
	Ticket t1=new Ticket();
	Ticket t2=new Ticket();
	Ticket t3=new Ticket();
	t0.start();
	t1.start();
	t2.start();
	t3.start();
	}
}

class Ticket extends Thread
{
	int tk=10;
	public void run()
	{
		while(tk>0)
		{
			System.out.println(Thread.currentThread().getName()+"窗口正在售出"+tk--+"号票.");
		}
	}
}
*/
//输出结果:每个窗口都卖了10张票,显然不符现实(如下图).

 

//用实现Runnable创建线程的方式
class TicketMan
{
	public static void main(String[]aresg)
	{
		Ticket t=new Ticket();
		//创建4个线程
		new Thread(t).start();
		new Thread(t).start();
		new Thread(t).start();
		new Thread(t).start();
	}
}

class Ticket implements Runnable
{
	int tk=10;
	public void run()
	{
		while(tk>0)
		{
			System.out.println(Thread.currentThread().getName()+"窗口正在售出"+tk--+"号票.");
		}
	}
}
//输出结果:4个窗口,成功把10张票随机分配售完(如下图).
//结论:
/*
使用Runnable接口创建多线程,适合多个相同的程序代码的线程去处理分享同一个资源的情况,把虚拟CPU(线程)同程序的代码数据有效分离,较好体现了面向对象的设计思想.
*/
CSDN
Java编程技术交流QQ群:171396965  技术需要交流,技术需要与时俱进.这里是优秀爱好Java编程的集聚地,我们一起学习,共同进步.加入时请注明Java字样,谢谢.
Java编程技术交流QQ群171396965
作者:StellaAh 发表于2011-10-6 14:45:56 原文链接
阅读:344 评论:2 查看评论