java创建线程的两种方式

创建线程的第一种方式:

1,子类复写父类中的run方法。将线程需要运行的代码放到run()中。
2,创建子类对象的同时线程也被创建。
3,通过调用star()方法开启线程。

线程和线程任务是绑定在一起的,创建了4个线程就创建了4份资源。
例如:
class Ticket extends Thread
{
private static int num = 50; //定义成static,四个线程共享50张票。
public void run()
{
while(num>0)
System.out.println(Thread.currentThread().getName()+"…sale…"+num–);
}
}

class Maipiao
{
public static void main(String[] args)
{
Ticket win1 = new Ticket();
Ticket win2 = new Ticket();
Ticket win3 = new Ticket();
Ticket win4 = new Ticket();
win1.start();
win2.start();
win3.start();
win4.start();
}
}

创建线程的第二种方式:
1.创建实现了Runnable接口的子类
2. 重写Runnable接口中的run方法
3. 创建实现了Runnable接口的子类的对象
4. 创建Thread类的对象,也就是在创建线程
5. 把实现了Runnable接口的子类对象作为参数传递给Thread类的构造方法。

线程和线程任务进行了分离,只需要创建一个任务,让4个线程分别去执行。
例如:
//这个类只是为了描述线程的任务
class Ticket implements Runnable
{
private int num = 50;
public void run()
{
while(num>0)
System.out.println(Thread.currentThread().getName()+"…sale…"+num–);
}
}

class Maipiao
{
public static void main(String[] args)
{
Ticket t = new Ticket();
Thread win1 = new Thread(t);
Thread win2 = new Thread(t);
Thread win3 = new Thread(t);
Thread win4 = new Thread(t);
win1.start();
win2.start();
win3.start();
win4.start();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值