「java线程池建造」java怎么创建线程池
今天给各位分享java线程池建造的知识,其中也会对java怎么创建线程池进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java创建线程池有哪些
ava通过Executors提供四种线程池,分别为:
newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
newFixedThreadPool
创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
newScheduledThreadPool
创建一个定长线程池,支持定时及周期性任务执行。
newSingleThreadExecutor
创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO,
LIFO,
优先级)执行。
创建线程有几种方式和Java中常用的线程池
java创建线程的方式有三种
第一种是继承Thread类 实现方法run() 不可以抛异常 无返回值
第二种是实现Runnable接口 实现方法run() 不可以抛异常 无返回值
第三种是实现CallableT接口,接口中要覆盖的方法是 public T call() 注意:此方法可以抛异常,而前两种不能 而且此方法可以有返回值
第三种如何运行呢 Callable接口在util.concurrent包中,由线程池提交
import java.util.concurrent.*;
ExecutorService e = Executors.newFixedThreadPool(10); 参数表示最多可以运行几个线程
e.submit(); 这个里面参数传 实现Callable接口那个类的对象
如何创建一个Java线程池?
程序由三个类构成:
第一个是TestThreadPool类,它是一个测试程序,用来模拟客户端的请求,当运行它时,系统首先会显示线程池的初始化信息,然后提示从键盘上输入字符串,并按下回车键,这时会发现屏幕上显示信息,告诉某个线程正在处理的请求,如果快速地输入一行行字符串,那么会发现线程池中不断有线程被唤醒,来处理的请求,创建了一个拥有10个线程的线程池,如果线程池中没有可用线程了,系统会提示相应的警告信息,但如果稍等片刻,那会发现屏幕上会陆陆续续提示有线程进入了睡眠状态,这时又可以发送新的请求了。
第二个类是ThreadPoolManager类,顾名思义,它是一个用于管理线程池的类,它的主要职责是初始化线程池,并为客户端的请求分配不同的线程来进行处理,如果线程池满了,它会对发出警告信息。
最后一个类是SimpleThread类,它是Thread类的一个子类,它才真正对客户端的请求进行处理,SimpleThread在示例程序初始化时都处于睡眠状态,但如果它接受到了ThreadPoolManager类发过来的调度信息,则会将自己唤醒,并对请求进行处理。
java线程池建造的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么创建线程池、java线程池建造的信息别忘了在本站进行查找喔。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。