Java 初学者-java多线程05

今天继续学习了java多线程操作有关的知识。

public class ThreadTest{

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyRunnablea r=new MyRunnablea();
         Thread t=new Thread(r);
         t.setName("t");
         t.start();
         try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         //终止线程,什么时候想终止,把标记变为false
         r.run=false;
    }

}
class MyRunnablea implements Runnable{
    boolean run=true;
    public void run()
    {for(int i = 0;i<10;i++) {
         if(run) {
            System.out.println(Thread.currentThread().getName()+" "+i);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    else 
        //这里用来保存最后需要的数据
        return;
         }
    
    }
}
/*
 让位,当前线程暂停回到就绪状态,让给其它线程。
 静态方法Thread.yield() 
  
 
 */
public class ThreadTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Thread t=new Thread(new MyRunnablec());
         t.setName("t");
         t.start();
         for(int i=1;i<10000;i++) {
             
             System.out.println(Thread.currentThread().getName()+" "+i);
         }
    }

}
class MyRunnablec implements Runnable{
    
    public void run() {
        
        for(int i=1;i<10000;i++) {
            if(i%100==0) Thread.yield();
            System.out.println(Thread.currentThread().getName()+" "+i);
        }
    }
    
}

 

明天计划继续学习java多线程。

posted @ 2020-08-24 20:50  好吗,好  阅读(71)  评论(0)    收藏  举报