多线程之创建线程有哪几种方式?
2019-08-16 10:17:26来源:博客园 阅读 ()
多线程之创建线程有哪几种方式?
这个问题一般会出现在面试当中,多线程创建有哪几种方式呢?
答:实现Runable接口和实现Thread类。
我们先看看看实现这两种的实现方式
1 package com.summer; 2 3 public class ThreadA implements Runnable { 4 5 public void run() { 6 System.out.println("start ThreadA!"); 7 } 8 9 public static void main(String[] args) { 10 Thread thread = new Thread(new ThreadA()); 11 thread.start(); 12 } 13 }
1 package com.summer; 2 3 public class ThreadB extends Thread { 4 5 @Override 6 public void run() { 7 System.out.println("start ThreadB!"); 8 } 9 10 public static void main(String[] args) { 11 ThreadB threadB = new ThreadB(); 12 threadB.start(); 13 } 14 }
那么除了这两种方式以外还有什么其他方式呢?
答:可以实现Callable接口和线程池来创建线程。
1 package com.summer; 2 3 import java.util.concurrent.Callable; 4 import java.util.concurrent.FutureTask; 5 6 public class ThreadC implements Callable { 7 8 public Object call() throws Exception { 9 System.out.println("start ThreadC!"); 10 return null; 11 } 12 13 public static void main(String[] args) { 14 ThreadC threadC = new ThreadC(); 15 FutureTask futureTask = new FutureTask(threadC); 16 Thread thread = new Thread(futureTask); 17 thread.start(); 18 } 19 }
1 package com.summer; 2 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent.Executors; 5 6 public class ThreadD implements Runnable { 7 8 public void run() { 9 System.out.println("start ThreadD!"); 10 } 11 12 public static void main(String[] args) { 13 ExecutorService executorService = Executors.newSingleThreadExecutor(); 14 executorService.execute(new ThreadD()); 15 } 16 }
原文链接:https://www.cnblogs.com/tanyang/p/11176103.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- eclipse下创建Maven项目(包含webapp目录结构) 2020-06-09
- SpringBoot通过web页面动态控制定时任务的启动、停止、创建 2020-06-09
- 最详细的java多线程教程来了 2020-06-08
- 系统化学习多线程(一) 2020-06-08
- 多线程:生产者消费者(管程法、信号灯法) 2020-06-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash