欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

多线程学习-线程认识与创建方式,

来源: javaer 分享于  点击 29086 次 点评:194

多线程学习-线程认识与创建方式,


线程认识与创建方式

1,并行与并发

  并行:同一时刻同时执行方法

  并发:一个时间段执行的方法

2,线程认识

  启动一个进程时,至少会同时启动一个线程,是一个进程分不同模块同时执行不同的工作,

  一般情况下启动Java程序,main方法是一个主线程启动的同时会启动垃圾回收的线程

3,开启线程的方法

  四种:继承thread类,实现Runnable接口,实现callable接口,线程池

  thread类:重写run方法,创建类对象,start()开启线程。

  Runnable接口:重写run()方法,创建thread对象传入实现了runnable接口的对象,也可同时传入线程名称(可选,有默认),start()开启。

  callable接口(依赖futuretask类):FutureTask实现了RunnableFuture接口,RunnableFuture继承Future(动态监控线程,get,isdone,cancel。。)Runnable接口

      重写call()方法,创建FutureTask对象task传入实现callable接口的对象,创建thread对象传入task,也可同时传入线程名,start()开启。

      开启后可调用get获取返回值(此方法阻塞主线程)

  线程池:一个装线程的容器       

      executors工具类,帮助创建线程池。

      executors.new.....线程类型(),返回线程池对象,

      线程池对象.execute方法传入实现了runnable的对象

      

 

 

 

 注意:runnable和callable区别:1.runnable重写run方法,callable重写call方法。2.runnable没有返回值,callable有返回值

    3.runnable不能抛出异常,callable可以。4.runnable不能动态监控,callable有工具类futuretask监控。如get获取返回值,cancel取消执行

 

相关文章

    暂无相关文章
相关栏目:

用户点评