更新时间:2020-05-21 11:21:57 来源:极悦 浏览1950次
1.
join()方法时Java的Thread类提供的让一个线程等待另一个线程完成的方法。当在某个程序的执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的join线程执行完成为止。
2.后台线程
后台线程(DaemonThread)是在后台运行的,它的任务是为其他的线程提供服务,也被称为守护线程或精灵线程。
后台线程的特征:如果所有的前台线程都死亡,后台线程会自动死亡。
调用Thread对象的setDaemon(true)方法可以将一个指定的线程设置为后台线程。
3.线程睡眠:sleep
Thread类的sleep()方法用来暂停线程的执行,调用sleep()的线程将会进入阻塞状态。Thread类的sleep()方法是Thread类的静态方法。
4.线程让步:yield
yield()方法也是Thread类提供的静态方法,让线程暂停执行,与sleep()方法不同的是,yeild()方法不会将线程阻塞,当某个线程调用了yield()方法时,该线程会暂停执行进入就绪状态,只有优先级与当前线程相同或者优先级比当前线程高的处于就绪状态的线程才会获得执行的机会。
执行上面的程序将会看到在i=20的时候yt1线程执行yield()方法,因为yt2线程与yt1线程处于同一优先级别,所以yt2线程将会获得执行权,然后在yt2执行到i=20的时候,yt2调用线程让步方法yeild(),同样的原因线程yt1将会获得执行权。
5.改变线程的优先级
中每个都有一定的优先级,优先级高的线程获得执行的机会多,而优先级低的线程获得执行的机会少。对于创建的线程,Java默认的优先级同创建它的父线程的优先级相同。如果想改变线程的优先级,则可以使用Thread类提供的setPriority(intnewPriority)方法设置线程的优先级,而getPriority()方法返回线程的优先级。Java中的优先级的参数范围是1-10的整数。
Javase相关视频教程
2020JavaSE进阶:
以上就是极悦java培训机构的小编针对“Javase视频教程推荐,线程控制”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习