| 如果必须由多个线程执行单个任务, 则只有一个run()方法, 例如: |
由多个线程执行单个任务的程序
class TestMultitasking1 extends Thread{ public void run(){ System.out.println("task one"); } public static void main(String args[]){ TestMultitasking1 t1=new TestMultitasking1(); TestMultitasking1 t2=new TestMultitasking1(); TestMultitasking1 t3=new TestMultitasking1(); t1.start(); t2.start(); t3.start(); } } 立即测试
Output:task one task one task one 由多个线程执行单个任务的程序
class TestMultitasking2 implements Runnable{ public void run(){ System.out.println("task one"); } public static void main(String args[]){ Thread t1 =new Thread(new TestMultitasking2());//passing annonymous object of TestMultitasking2 class Thread t2 =new Thread(new TestMultitasking2()); t1.start(); t2.start(); } } 立即测试
Output:task one task one 注意:每个线程在单独的调用堆栈中运行。
如何通过多个线程执行多个任务(多线程中的多任务)?
| 如果必须通过多个线程执行多个任务, 请使用多个run()方法, 例如: |
由两个线程执行两个任务的程序
class Simple1 extends Thread{ public void run(){ System.out.println("task one"); } } class Simple2 extends Thread{ public void run(){ System.out.println("task two"); } } class TestMultitasking3{ public static void main(String args[]){ Simple1 t1=new Simple1(); Simple2 t2=new Simple2(); t1.start(); t2.start(); } } 立即测试
Output:task one task two 与上述相同的示例, 其匿名类扩展了Thread类:
由两个线程执行两个任务的程序
class TestMultitasking4{ public static void main(String args[]){ Thread t1=new Thread(){ public void run(){ System.out.println("task one"); } }; Thread t2=new Thread(){ public void run(){ System.out.println("task two"); } }; t1.start(); t2.start(); } } 立即测试
Output:task one task two 与上述相同的示例, 其匿名类实现了Runnable接口:
由两个线程执行两个任务的程序
class TestMultitasking5{ public static void main(String args[]){ Runnable r1=new Runnable(){ public void run(){ System.out.println("task one"); } }; Runnable r2=new Runnable(){ public void run(){ System.out.println("task two"); } }; Thread t1=new Thread(r1); Thread t2=new Thread(r2); t1.start(); t2.start(); } } 立即测试
Output:task one task two
srcmini
评论前必须登录!
注册