首页 > 试题广场 >

启动线程有哪几种方式,线程池有哪几种?

[问答题]
请列举一下启动线程有哪几种方式,之后再说明一下线程池的种类都有哪些?
要启动的可以分为两类:返回结果和不返回结果。对于这两种,也分别有两种启动线程的方式:
1)继承Thread类,重载run()
2)实现Runnable接口,实现run()
3)实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的线程
常用方法:
1.newCachedThreadPool()
2.newFixedThreadPool(int nThreads)
3.newSingleThreadExecutor()
4.newScheduleThreadPool()
5.newWorkStealingPool(int parallelism)
发表于 2019-10-09 00:20:51 回复(0)
①启动线程有如下三种方式: 一、继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。
发表于 2019-05-05 15:20:35 回复(0)
要启动的可以分为两类:返回结果和不返回结果。对于这两种,也分别有两种启动线程的方式:
1)继承Thread类,implements Runnable接口
2)实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的线程
常用方法:
1.newCachedThreadPool
2.newFixedThreadPool
3.newSingleThreadExecutor
4.newScheduleThreadPool

发表于 2019-05-03 20:45:50 回复(0)
①启动线程有如下三种方式: 一、继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。
发表于 2019-05-01 21:34:08 回复(0)
线程启动方式:run和start
线程池api有:Excutor, ExcutorService, ScheduledExecutorService, ThreadPoolExecutor, ScheduledThreadPoolExecutor
发表于 2019-04-02 22:34:33 回复(0)
启动线程我就不多言了,我这边说下线程池的种类。
大体上是四种:
newsingleThreadExecutor:单线程的线程池,处理完一个任务接着下一个,若异常则起一个新的线程
newFixedThreadPool:指定数目的线程池,如果多于这个数目则加入缓存队列
new***dThreadPool:不限数目的线程池,完全依赖于JVM能创建的线程数,可能出现内存不足
自定义线程池:通过修改五大核心参数来控制;



发表于 2019-02-20 14:21:08 回复(2)
继承Thread类,重写run方法,实现Runnable接口,重写run方法,实现callable接口,重写call方法启动线程用start方法
发表于 2019-02-20 10:17:48 回复(0)