线程的创建与启动

 

线程的创建与启动

可通过两种方法来定义线程

一、定义线程

1.扩展java.lang.Thread

public void run();

如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。

Thread 的子类应该重写该方法。

2.实现java.lang.Runnable

void run();

使用实现接口 Runnable 的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的 run 方法。

 

二、实例化线程

1.如果是Thread的扩展,直接new即可。

2.如果是实现Runnable的接口,则用Thread的构造方法:

Thread(Runnable target) 

Thread(Runnable target, String name) 

Thread(ThreadGroup group, Runnable target) 

Thread(ThreadGroup group, Runnable target, String name) 

Thread(ThreadGroup group, Runnable target, String name, long stackSize)

 

三、启动线程

在线程的Thread对象上调用start方法,而不是run方法。

在调用start()方法之前:线程处于新状态中,新状态指:有一个Thread对象,但还没有一个真正的线程。

在调用start()方法之后:启动新的执行线程(具有新的调用栈),该线程从新状态转移到可运行状态,当该线程获得机会执行时,其目标run()方法将运行。

注意:在Runnable或者Thread类内部调用run方法并不启动新的线程。

 

四、案例

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值