Java线程创建模式
来源:互联网 发布:linux重启oracle命令 编辑:程序博客网 时间:2024/06/03 16:24
Java提供了线程类Thread来创建多线程的程序,有三种方式
◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法;
◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。
◆实现Callable接口,重载Callable接口中的call()方法。
1.派生Thread 创建线程
public class Thread_thread extends Thread { @Override public void run(){ System.out.println("派生 Thread创建线程成功"); }}public class ThreadMain { public static void main(String[] args) {// Thread thread=new Thread(new Thread_Runnable(), "Thread_ranable");// thread.start(); Thread_thread thread=new Thread_thread(); thread.start(); }}
2.实现Ruannalbe接口创建线程
public class Thread_Runnable implements Runnable { @Override public void run() { System.out.println("实现rannable接口创建线程成功"); }}public class ThreadMain { public static void main(String[] args) { Thread thread=new Thread(new Thread_Runnable(), "Thread_ranable"); thread.start(); }}
3.实现Callable接口
public class Thread_Callable implements Callable<String> { @Override public String call() throws Exception { String result="CallAble执行返回"; System.out.println(result); return result; }}
一般用第二种的比较多,由于Java语言的特性,只能单继承,但是可以多实现!!第三种方式和第二种的不同点就是 第三种方式有返回值,这个在api中介绍的相对较少,但是要传给ExecutorService的submit方法来执行。
当将一个Callable的对象传递给ExecutorService的submit方法,则该call方法自动在一个线程上执行,并且会返回执行结果Future对象。
同样,将Runnable的对象传递给ExecutorService的submit方法,则该run方法自动在一个线程上执行,并且会返回执行结果Future对象,但是在该Future对象上调用get方法,将返回null。
阅读全文
1 0
- Java线程创建模式
- Java 线程创建
- java创建线程池
- java创建线程池
- Java创建线程
- 创建Java线程池
- java线程的创建
- java 创建线程
- 创建Java线程池
- 创建java线程池
- Java线程创建方式
- 创建Java线程池
- Java线程创建
- 创建Java线程池
- 创建Java线程池
- JAVA 创建线程池
- Java线程的创建
- Java线程创建方法
- memcached--存储命令--replace
- 解决Linux下Python3.5无法使用tkinter
- 任务分配hihocoder 1309(离散化 )
- STM8S003F3 选项字 ----- /* 原创 */
- UI -- 协议传值(简单的使用)
- Java线程创建模式
- 【前端面试】HTML5+CSS3初级面试4
- 笨办法学Python(第三版)pdf
- Redis-RDB持久化
- git学习------>如何修改git已提交的记录中的Author和Email?
- c语言标识符,数据类型,sizeof和strlen区别及面试题
- 总结: Java BigInteger类在ACM中的应用
- tensorflow学习系列(一)
- AJAX请求状态码返回200却跳到error的function