灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2210回复:0

java例程练习(多线程[线程的优先级等等])

楼主#
更多 发布于:2012-09-08 09:43

//设置线程的优先级
public class TestThread1 {
    public static void main(String[] args) {
        Thread t1 = new Thread(new T1());
        Thread t2 = new Thread(new T2());
        t1.setPriority(Thread.NORM_PRIORITY + 3);
        t1.start();
        t2.start();
    }


}

class T1 implements Runnable {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println("--------T1: " + i);
        }
    }
}

class T2 implements Runnable {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println("========T2: " + i);
        }
    }
}
[java]
//同样的线程对象可以用来起多个线程
public class TestThread2 {
    public static void main(String[] args) {
        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);
        }
    }
}


[java]
//sleep()方法
public class TestThread3 {
    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 != 10) {
                try {
                    Thread.sleep(1000);
                } catch(interruptedException e) {}
                System.out.println("NO. " + i);
            }
        }
    }
}


[java]
public class TestThread4 {
    public static void main(String[] args) {
        Runner4 r = new Runner4();
        Thread t = new Thread(r);
        t.start();

        for(int i = 0; i < 100000; i++) {
            if(i % 1000 == 0 ; i > 0) {
                System.out.println("In Thread main i = " + i);
            }
        }
        System.out.println("Thread Main is Over");
        r.shutDown();
    }

}

class Runner4 implements Runnable {
    private boolean flag = true;//最好的使线程终止的方法

    public void run() {
        int i = 0;
        while(flag == true) {
            System.out.print(" " + i++);
        }
    }

    public void shutDown() {
        flag = false;
    }
}


[java]
//复习join()方法;
public class TestThread5 {
    public static void main(String[] args) {
        Runner5 r = new Runner5();
        Thread t = new Thread(r);
        t.start();

        try {
            t.join();
        } catch(InterruptedException e) {}

        for(int i = 0; i < 50; i ++) {
            System.out.println("MainThread: " + i);
        }

    }

}

class Runner5 implements Runnable {
    public void run() {
        for(int i = 0; i < 50; i++) {
            System.out.println("SubThread: " + i);
        }
    }
}


[java]
public class TestThread6 {
    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() {
        //拿到当前线程判断是不是还活着Thread.currentThread(),isAlive()
        System.out.println(Thread.currentThread().isAlive());
        for(int i = 0; i < 50; i++) {
            System.out.println("SubThread: " + i);
        }
    }
}








摘自 Yours风之恋




喜欢0 评分0
游客

返回顶部