历程:指的是处于运行过程中的程序
线程:是历程中的一个执行单位,负责当进步程中程序的执行,一个历程中至少有一个线程。一个历程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
此刻的程序根基上都是多线程程序,好比收集音乐播放器,它能一边播放音乐,一边下载音乐,还能一边查找新音乐和写评论,就是说可以同时做良多工作而互不影响。
所以多线程的用途长短常普遍的,那么Java中如何建立多线程呢?今天小编就来和大师分享一下Java建立多线程的三种体例
建立线程的体例一:担当Thread类(因为Java单担当的特征,这种体例用的比力少)
步调:
1、担当Thread类,然后重写run方式
2、建立子类对象,然后挪用start()方式来启动线程
我们可以看到这边此刻只建立了一个线程,那么若是要建立多个线程要怎么做呢?经由过程担当Thread的体例建立线程,想要建立多个分歧的线程就要先建立多个分歧的担当Thread的类,然后再按照上面的步调1,2来建立线程,这显然有些麻烦,为了展示多线程,我们先在上面的线程中增添一个本家儿线程,也就是main方式中执行的线程。如下:
建立线程的体例二:实现Runnable接口(Java可以实现多个接口,这种体例常用)
步调:
1、建立一个类实现Runnable接口,然后重写run方式
2、建立实现类对象、代办署理类对象,然儿女理类对象挪用start()方式启动线程
用实现Runnable接口的体例,实现多线程:
《模拟抢票系统》,代码如下:
线程挪用了start()方式,并不料味着当即执行,而是到停当状况,期待cpu的调剂,所以每次执行的成果都是纷歧样的。
建立线程的体例三:实现java.util.concurrent并发包下的Callable接口(进阶版,初学者做个领会)
步调:
1、建立一个类实现Callable接口,然后重写call()方式
(和run方式纷歧样的是,call方式可以有返回值,而且可以抛出异常)
2、建立Callable的实现类对象--》建立执行办事--》提交执行办事获得Future对象--》获取成果--》遏制办事
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!