Java多线程编程基础2

一、线程的生命周期

新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Dead)。

线程类有以下成员函数:

1.void start();//启动线程

2.void join(); //等待被join的线程执行完成

3.void join(long millis);//等待被join的线程时间最长为millis毫秒,没完成也不再等了。

4.void join(long millis,int nanos);//等待被join的线程的时间最长为millis毫秒加nanos毫微秒(很少用)。

5.static void sleep() //线程休眠millis毫秒 ,进入阻塞状态,让给其他任意优先级的线程。

6.static void sleep(long millis,int nanos);  //millis毫秒加naos微秒线程休眠,进入阻塞状态。

7.void yiled();//暂停执行,进入就绪状态,只有优先级与当前线程相同或更高才能获得执行的机会。

8.void setPriority(int newPriority);//设置线程优先级

sleep()和yiled()区别:

sleep()方法暂停当前线程后,会给其他线程执行的机会,不强调优先级。yiled()方法只会给相同或更高的优先级执行的机会。

sleep()进入阻塞状态,yiled()进入就绪状态,很可能暂停之后立即被执行。

sleep()方法声明抛出InterruptedException异常,yiled没有生命抛出任何异常。

sleep()有更好的移植性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值