线程代码举例
// 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);
}
}
}