先把代码摆到这。。。忘了再来看
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;
}
}