获取线程的方式有哪些?说出自定义线程池中的形参有哪些?
时间: 2024-05-29 19:15:52 浏览: 65
获取线程的方式有以下几种:
1. 继承Thread类,重写run()方法,调用start()方法启动线程。
2. 实现Runnable接口,重写run()方法,将实现了Runnable接口的类作为参数传入Thread类的构造方法中,调用start()方法启动线程。
3. 实现Callable接口,重写call()方法,将实现了Callable接口的类作为参数传入FutureTask类的构造方法中,调用start()方法启动线程。
自定义线程池中的形参一般包括以下几个:
1. corePoolSize:线程池核心线程数。
2. maximumPoolSize:线程池最大线程数。
3. keepAliveTime:线程池中超过corePoolSize数目的空闲线程最大存活时间。
4. unit:keepAliveTime的时间单位。
5. workQueue:任务队列,被提交但尚未被执行的任务。
6. threadFactory:线程工厂,用于创建线程,一般使用默认的即可。
7. handler:拒绝策略,当队列和线程池都满了,对新任务的处理方式。常用的有AbortPolicy、CallerRunsPolicy、DiscardOldestPolicy、DiscardPolicy。
阅读全文