Thread

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

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;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值