现在的位置: 首页 > 综合 > 正文

Thread

2013年10月31日 ⁄ 综合 ⁄ 共 2117字 ⁄ 字号 评论关闭

先把代码摆到这。。。忘了再来看

package heng.java.Thread;

public class MyThreadIsAlive {
	
	public static void main(String[] args) {
		Thread t = new Runner6();
		t.start();
		
		for(int i=0; i<50; i++){
			System.out.println("MainThread: "+i);
		}
	}
}
class Runner6 extends Thread {
	public void run(){
		System.out.println(Thread.currentThread().isAlive());//当前线程是否还活着
		for(int i=0; i<50; i++){
			System.out.println("SubThread: "+i);
		}
	}
}

===================================================

package heng.java.Thread;
/**
 * 同一个线程对象可以吊起两个线程,一个线程执行完,才开始执行另一个线程
 * @author haley
 *
 */
public class MyThread {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Runner2 r = new Runner2();
		Thread t1 = new Thread(r);
		Thread t2 = new Thread(r);
		t1.start();
		t2.start();
	}

}
class Runner2 implements Runnable {
	public void run(){
		for(int i=0; i<30; i++){
			System.out.println("No. "+i);
		}
	}
}

======================================================

package heng.java.Thread;

public class MyThread1 {
	public static void main(String[] args) {
		Runner3 r = new Runner3();
		Thread t = new Thread(r);
		t.start();
	}

}
class Runner3 implements Runnable {
	public void run() {
		for(int i=0; i<30; i++){
			if(i%10==0 && i!= 0){
				try{
					Thread.sleep(5000);
				}catch (InterruptedException e){
					e.printStackTrace();
				}
			}
			System.out.println("No. "+i);
		}
	}
	
}

========================================================

package heng.java.Thread;

public class MyThreadJoin {
	public static void main(String[] args) {
		
		Runner5 r = new Runner5();
		Thread t = new Thread(r);
		t.start();
		try {
			t.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		for(int i=0; i<50; i++){
			System.out.println("主线程:"+i);
		}
	}
}
class Runner5 implements Runnable {
	public void run() {
		for(int i=0; i<50; i++){
			System.out.println("SubThread: "+i);
		}
	}
}

=========================================================

package heng.java.Thread;

public class MyThread2 {
	public static void main(String[] args) {
		Runner4 r = new Runner4();
		Thread t = new Thread(r);
		t.start();
		for(int i=0; i<100; i++){
			if(i%10==0 && i>0){
				System.out.println("in thread main i="+ i);
				i++;
			}
		}
		r.shutDown();
		//t.stop();
		System.out.println("Thread main is over");
	}
}
class Runner4 implements Runnable {
	boolean flag = true;
	int i=0;
	public void run() {//run()方法一结束,线程就结束
		while(flag == true){
			System.out.println(" "+i);
			i++;
			if(flag == false){
				System.out.println("为什么这句还能执行?");
			}
		}
	}
	public void shutDown(){
		flag = false;
	}
}

抱歉!评论已关闭.