线程
目录
线程
你知道java中有几种方式实现一个线程?
实现一个线程的话有三种方法,首先前面两种的话是比较常用的,我们首先第一种,我们可以去实现我们的线程(Thread)类,然后第一种是实现我们的Runnable接ㄩ,那这两种方式的话,都是去重写我们的run 方法,然后还有我们的第三种,我们可以去实现我们的Callable 一个接口,那这里面需要我们去实现的是一个cal()方法,就这些。
那线程池有用过吗?知道他有什么作用吗?
线程池的话是为了解决我们这个突然爆发的一个线程,去大量爆发的线程去设计的嘛,他是通过几个有限的一个、几个固定的线程,去给我们的一个大量的操作去服务的,他主要是要去减少我们的创建和销毁线程去需要的时间,就是我们要提高我们的效率嘛,那我在项目里面用的过程中,其实我是感觉说如果一个线程所需要执行的时间非常长的话,其实没有必要用这个线程池的。因为我觉得这个并不是说线程池他不能长时间去操作,而是我感觉不适合嘛,因为我们本来要降低这个线程创建的销毁,结果这个线程呢,他如果时间很久的话还不好控制,所以还不如直接去创建线程,因为我们是不能直接控制线程池里面的线程的开始啊挂起啊终止啊这些状态的嘛。
线程池七大参数:
- 核心线程数
- 最大线程数
- 空闲线程存活时间
- 时间单位
- 线程池阻塞队列
- 创建线程的工厂
- 拒绝策略。