Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源

//模拟售票厅售票情况:假设有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张票,显然不符现实(如下图).

 Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源

//用实现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张票随机分配售完(如下图).

Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源
//结论:

/*

使用Runnable接口创建多线程,适合多个相同的程序代码的线程去处理分享同一个资源的情况,把虚拟CPU(线程)同程序的代码数据有效分离,较好体现了面向对象的设计思想.

*/

CSDN
Java编程技术交流QQ群: 171396965  技术需要交流,技术需要与时俱进.这里是优秀爱好Java编程的集聚地,我们一起学习,共同进步. 加入时请注明Java字样,谢谢.
作者:StellaAh 发表于2011-10-6 14:45:56 原文链接
阅读:344 评论:2 查看评论

你可能感兴趣的:(Runnable)