网站策划方案800字,程序网站开发,网上打广告有哪些软件,网站 管理系统**
Java多线程的4种实现方式
**
1#xff1a;继承Thread并重写run方法#xff0c;并调用start方法
/*** Java实现多线程的方式1* 继承Thread类#xff0c;重写run方法* author hongbo.zhao 2019年4月12日 上午7:12:35*/
class MyThread extends Thread {Overridepublic …**
Java多线程的4种实现方式
**
1继承Thread并重写run方法并调用start方法
/*** Java实现多线程的方式1* 继承Thread类重写run方法* author hongbo.zhao 2019年4月12日 上午7:12:35*/
class MyThread extends Thread {Overridepublic void run() {//此处为thread执行的任务内容System.out.println(Thread.currentThread().getName());}
}public class Demo03 {public static void main(String[] args) {for(int i0;i2;i) {Thread t new MyThread();//输出//Thread-0 Thread-1t.start();}}
}2实现Runnable接口并用其初始化Thread然后创建Thread实例并调用start方法
/*** Java实现多线程的方式2* 实现Runnable接口* author hongbo.zhao 2019年4月12日 上午7:12:35*/
class MyThread implements Runnable {Overridepublic void run() {//此处为thread执行的任务内容System.out.println(Thread.currentThread().getName());}
}public class Demo03 {public static void main(String[] args) {for(int i0;i2;i) {Thread t new Thread(new MyThread());//输出//Thread-0 Thread-1t.start();}}
}3实现Callable接口并用其初始化Thread然后创建Thread实例并调用start方法 /*** Java实现多线程的方式3* 实现Callable接口* author hongbo.zhao 2019年4月12日 上午7:12:35*/
class MyThread implements CallableInteger {Overridepublic Integer call() throws Exception {System.out.println(Thread.currentThread().getName());return null;}
}public class Demo03 {public static void main(String[] args) {for(int i0;i2;i) {//创建MyThread实例CallableInteger c new MyThread();//获取FutureTaskFutureTaskInteger ft new FutureTaskInteger(c);//使用FutureTask初始化ThreadThread t new Thread(ft);//输出//Thread-0 Thread-1t.start();}}
}4使用线程池创建 /*** Java实现多线程的方式4* 线程池* author hongbo.zhao 2019年4月12日 上午7:12:35*/
class MyThread implements Runnable {Overridepublic void run() {System.out.println(Thread.currentThread().getName());}}class MyThread2 implements CallableInteger {Overridepublic Integer call() throws Exception {System.out.println(Thread.currentThread().getName());return 0;}}public class Demo03 {public static void main(String[] args) {ExecutorService executorService Executors.newFixedThreadPool(5);for(int i0;i2;i) {executorService.execute(new MyThread());FutureTaskInteger ft new FutureTaskInteger(new MyThread2());//输出
// pool-1-thread-1
// pool-1-thread-2
// pool-1-thread-3
// pool-1-thread-4executorService.submit(ft);}executorService.shutdown();}
}