java线程 java多线程实现的三种方式 | 文军营销
首页  >   网站建设  >  java线程 java多线程实现的三种方式

java线程 java多线程实现的三种方式

在学习java设计语言程序的过程当中,我们经常会接触到java线程,那么你知道java线程是什么?java多线程如何实现?如果不知道的朋友,那么就与小编一起来好好的学习一下吧。

java线程——java线程是什么

线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。

线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.

线程和进程的区别在于,子进程和进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定.线程的运行中需要使用计算机的内存资源和CPU.

  JAVA多线程实现的三种方式

1、继承Thread类实现多线程

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

2、实现Runnable接口方式实现多线程

如果自己的类已经extends另一个类,就无法直接extendsThread,此时,必须实现一个Runnable接口。

3、使用ExecutorService、Callable、Future实现有返回结果的多线程

ExecutorService、Callable、Future这个对象实际上都是属于Executor框架中的功能类。想要详细了解Executor框架的可以访问java官网,这里面对该框架做了很详细的解释。返回结果的线程是在JDK1.5中引入的新特征,确实很实用,有了这种特征我就不需要再为了得到返回值而大费周折了,而且即便实现了也可能漏洞百出。

可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了,再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了。下面提供了一个完整的有返回结果的多线程测试例子,在JDK1.5下验证过没问题可以直接使用。

以上就是有关java线程的内容介绍,在使用java线程的过程当中,不管你选择的是哪一种实现方式他们都会有它各自的使用注意事项,所以如果你想了解具体的内容的话欢迎关注我们文军营销的官网。

推荐阅读

java继承 java继承有哪些优点 | 文军营销你现在也正在学习java继承的内容,那么今天就与小编一起来了解一下java继承...java线程 java多线程实现的三种方式 | 文军营销java多线程如何实现?如果...json转字符串 json转字符串的方法是什么 | 文军营销3、要转换的对象必须是标准的javabean对象,什么是标准的javabean对象呢?就是...上一篇: java线程 java多线程实现的三种方式 下一篇: js弹出窗口js弹出窗口的...java定时任务 java定时任务是什么 | 文军营销在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。API中是这样定义他们的,Timer:一种工具,线程用其安排以后在后台线程中执行的任务。...java定时器 java定时器使用注意事项是什么 | 文军营销它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联...java定时器使用注意事项 1、创建一个Timer对象就是新启动了一个线程,但是...

copyright@2015上海文军信息技术有限公司沪ICP备10034044号-8公网安备31011202001046号网站地图