您的位置:首页 > 编程语言 > Java开发

第九章 Java多线程机制 04_举例

2012-09-02 17:34 351 查看
线程代码举例

// TestThread2.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 );
}
}
}


// TestThread3.java

public class TestThread3 {
public static void main(String args[]) {
Runner3 r3 = new Runner3();
Thread t = new Thread(r3);
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(2000);
}
catch (InterruptedException e)
{
return;
}
System.out.println("NO." + i);
}

}
}
}


// TestTread4.java

public class TestThread4 {
public static void main(String args[]) {
Runner4 r4 = new Runner4();
Thread t = new Thread(r4);
t.start();
for(int i = 0; i < 100000; i ++) {
if((i % 10000 == 0) && (i > 0)) {
System.out.println("in thread main i = " + i);
}
}
System.out.println("Thread main is over ");
r4.shutdown();
}
}

class Runner4 implements Runnable {
private boolean flag = true;

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

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


// TestThread5

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)
{
return;
}

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


// TestTread6.java

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

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

class Runner6 implements Runnable {
public void run() {
System.out.println(Thread.currentThread().isAlive());
for(int i = 0; i < 50; i ++) {
System.out.println("SubThread: " + i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: