[黑马程序员]多线程_学习笔记9

本文介绍如何使用Java实现一个简单的线程程序,通过实现Runnable接口来创建多线程,模拟多个窗口同时进行售票的过程。这种方式能够有效突破单继承限制,提升代码的灵活性和复用性。
/*
 * 需求:简单的买票程序
 * 多个窗口买票。
 * 
 * 创建线程的第二种方法: 实现Runnable接口
 * 
 * 步骤:
 * 1.定义类实现Runnable接口 。
 * 2.覆盖Runnalbe接口中的run方法,目的: 将线程要运行的代码放在run方法中
 * 3.创建 Thread线程对象实例
 * 4.将Runnable类接口的子类对象作为实参 传给 Thread类的构造函数。
 * 目的:自定义的run方法所属的对象是Runnable接口的子类对象,所以要让进程去执行指定方法的run方法,就必须明确该run方法所属对象 。
 * 5.调用Thread类的 start方法开启线程,并调用Runnable接口子类的 run方法 
 * 
 * 
 * 设置Runnable接口的目的: 
 * 好处:突破单继承。
 * 在定义线程时,建议使用实现方式
 * 
 * 
 * 两种方式的区别:
 * 继承Thread: 线程代码存放在Thread子类的run方法中。
 * 实现Runnable:线程代码存放在接口的子类的run方法中。
 */


package test.itheima;


public class ThreadTicketDemo {


/**
* @param args
*/
public static void main(String[] args) {
/*
* Ticket t1 = new Ticket(); Ticket t2 = new Ticket(); Ticket t3 = new
* Ticket(); Ticket t4 = new Ticket();
* 
* t1.start(); t2.start(); t3.start(); t4.start();
*/

Ticket t=new Ticket();

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();



}


}


class Ticket implements Runnable {// Thread {
private static int tick = 10000;


public void run() {
while (true) {
if (tick > 0) {
System.out.println(Thread.currentThread().getName() + " sale: "
+ tick--);
}


}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值