线程池 Callable实现多线程

来源:互联网 发布:怎么监控数据库的变化 编辑:程序博客网 时间:2024/05/22 04:35
启动新的线程,很耗费成本,
  线程池有一个好处:
  里面可以存储多条线程,每一条线程执行完毕,不会变成垃圾,等待下次继续使用!
  使用线程池可以解决很多问题:
  1)如何创建线程池对象:
  Executors工厂:专门用来创建线程池的:提供了一个方法
  public static ExecutorService newFixedThreadPool(int nThreads)
  
  2)这些方法的返回值是ExecutorService对象,该对象表示一个线程池,可以执行Runnable对象或者Callable对象代表的线程。它提供了如下方法
Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
<T> Future<T> submit(Callable<T> task)

3)结束线程池
   void shutdown()
public static void main(String[] args) {
//创建线程池对象
ExecutorService pool = Executors.newFixedThreadPool(2) ;

//使用ExecutorsService接口中有要给方法:
//Future<?> submit(Runnable task):Runnable接口作为一个参数:要该类的子实现类对象
pool.submit(new MyRunnable()) ;
pool.submit(new MyRunnable()) ;


//结束线程池
pool.shutdown(); 

}


实现多线程的方式3:
1:自定义一个类,实现Callable接口
2:实现里面的call方法
3:主线程中创建线程对象,
4:用线程池对象提交任务(MyCallable这个任务:实现0--100之间的循环)
5:提交后结束线程池


 ExecutorService threadPool = Executors.newFixedThreadPool(2) ;
 
//提交任务
threadPool.submit(new MyCallable()) ;
threadPool.submit(new MyCallable()) ;
 
//结束线程池
threadPool.shutdown();
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子上高三压力大不想上学怎么办 高三的孩子压力大怎么办 高三复读压力大怎么办 孩子一年级做数学粗心怎么办 一年级的孩子数学总粗心怎么办 天生手脚笨的人怎么办 高三的孩子厌学怎么办 二年级小孩学习笨怎么办 孩子高二不想上怎么办 高三孩子玩手机怎么办 孩子考试粗心丢题怎么办 工作中总出错是怎么办 工作上做错事了怎么办 惹她不开心了怎么办 惹到别人不开心怎么办 孩子高三不愿意写作业怎么办? 小孩特别懒不爱学习怎么办 小孩上三年级不爱学习怎么办 一年级孩子做题粗心怎么办 一年级的孩子做题粗心怎么办 一年级娃娃做题粗心怎么办 有同学抄作业该怎么办 同学要抄我作业怎么办 同桌抄我作业我该怎么办 孩子想换同桌老师不同意怎么办 尴尬的事情心里难受怎么办 孩子撒谎不完成作业怎么办 孩子撒谎不交作业怎么办 孩子不爱写作业撒谎怎么办 大便又粗又硬怎么办 二年级末考紧张怎么办 孩子粗心做数学题老出错怎么办 生地会考考了140怎么办 数学成绩考砸了怎么办? 考砸了家长发火怎么办 大型考试考砸了怎么办 能力考试考砸了怎么办 考砸了老师批评怎么办 英语抽测考砸了老师怎么办? 辅导班学生考砸了老师怎么办 好学生考砸了怎么办?