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多线程。