《黑马程序员》java笔记->售票例子实现Runnable接口创建线程

本文介绍了一个基于Java的多线程售票系统实现方案。通过四个窗口并发出售100张票,演示了如何利用Runnable接口来避免单继承的限制,并展示了具体的代码实现过程。
-------  android培训java培训、期待与您交流! ----------

-

多线程售票系统:
通过四个窗口卖票,一共有100张票,
卖票的动作被四个窗口同时使用。

需要多线程
====== 2 用Runnable接口的方式====
Runnable避免了单继承的局限性,不用继承。


1,定义一个类实现的Runnable接口。
2,覆盖Runnable借口中的run方法。
  将线程要运行的代码存储到run方法中。
3,创建该接口的子类对象
4, 通过Thread类进行线程的创建,并将Runnable接口的子类对象作为Thread类的构造函数的实参进行传递。
为什么要传递呢?
让线程创建对象时,就要明确要运行哪个run()方法,而这run()方法是需要被对象调用的
所以将run方法所属的对象传递给Thread类的构造函数。
5,调用Thread类中的start方法开启线程。


----------------------------


Runnable接口地方
*/
class Ticket implements Runnable
{
private int num=100;
public void run()
{
while(true)
{
if(num>0)
{
try{
Thread.sleep(10);
}
catch(InterruptedException e){
}
System.out.println(Thread.currentThread().getName()+"…………sale…………"+num--);
}
}
}
}
class TicketRunnable
{
public static void main(String[] args)
{
Ticket t=new Ticket();
//创建线程对象,并将对象作为Thread类的构造函数进行实参传递
Thread t1=new Thread(t);
Thread t2=new Thread(t);
Thread t3=new Thread(t);
Thread t4=new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值