概述
线程的让步与阻塞
1,线程的让步语句 Thread.yield();,设置条件,符合此条件后,线程让步执行其他程序,几个程序重新争取CPU,
if(i%5==0)
{
Thread.yield();//线程的让步
}
2,线程的阻塞
阻塞和睡眠基本一致,不过将try中的Thread.sleep(100)换成了dd.join();
try{
dd.join(); //阻塞时将当前线程暂停,直至调用join函数所对应的线程执行完毕,才继续执行程序。此处即前面的先执行完再执行后面的,其他的线程重新争CPU资源
}
catch(Exception e)
{
}
public class L66
{
public static void main(String[] args)
{
Xc6 xc6 = new Xc6();
Thread aa = new Thread(xc6);
Thread bb = new Thread(xc6);
aa.setName("线程一");
bb.setName("线程二");
aa.start();
bb.start();
}
}
class Xc6 implements Runnable
{
public void run()
{
for(int i=1;i<=10;i++)
{
System.out.println(Thread.currentThread().getName()+": "+i);
if(i%3==0)
{
Thread.yield();//线程的让步
}
}
}
}
线程的阻塞源代码
public class L6_7
{
public static void main(String args[])
{
Xc7 xc7=new Xc7();
Thread dd = new Thread(xc7);
dd.start();
try{
dd.join(); //阻塞时将当前线程暂停,直至调用join函数所对应的线程执行完毕,才继续执行程序。
}
catch(Exception e)
{
}
for(int i=0;i<15;i++){
System.out.println("主线程:" + i);
}
}
}
class Xc7 implements Runnable {
public void run() {
for(int i=0;i<10;i++) {
System.out.println("子线程: " + i);
}
}
}
最后
以上就是无限石头为你收集整理的线程的让入与阻塞——让步yield,阻塞join语句的全部内容,希望文章能够帮你解决线程的让入与阻塞——让步yield,阻塞join语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复