JAVA多线程实现方式的基本情况介绍

JAVA多线程实现需要我们不断的学习,在学习的时候我们会有很多的方向。下面我们就先来看看近JAVA多线程是如何实现的。在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结。

创新互联网站设计,为客户量身定制各类网站建设业务,包括企业型、电子商务型、成都响应式网站建设公司、行业门户型等各类网站,实战经验丰富,成功案例众多。以客户利益为出发点,创新互联网站制作为客户规划、按需设计网站符合企业需求、带有营销价值的网络建站方案认真对待每一个客户,我们不用口头的语言来吹擂我们的优秀,千余家的成功案例见证着我们的成长。

1.JAVA多线程实现方式

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。

2.继承Thread类实现多线程

继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

 
 
 
  1. public class MyThread extends Thread {
  2. public void run() {
  3. System.out.println("MyThread.run()");
  4. }
  5. }

在合适的地方启动线程如下:

 
 
 
  1. MyThread myThread1 = new MyThread();
  2. MyThread myThread2 = new MyThread();
  3. myThread1.start();
  4. myThread2.start();

3.实现Runnable接口方式实现多线程,如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:

 
 
 
  1. public class MyThread extends OtherClass implements Runnable {
  2. public void run() {
  3. System.out.println("MyThread.run()");
  4. }
  5. }

为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:

 
 
 
  1. MyThread myThread = new MyThread();
  2. Thread thread = new Thread(myThread);
  3. thread.start();

事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

 
 
 
  1. public void run() {
  2. if (target != null) {
  3. target.run();
  4. }
  5. }

上面就是对JAVA多线程实现的几个基本方式的详细介绍。希望大家有所收获。

新闻标题:JAVA多线程实现方式的基本情况介绍
链接URL:http://www.shufengxianlan.com/qtweb/news36/75186.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联