码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2018-03-02 22:16:09      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:不能   必须   reads   设置   start   默认   state   stat   更改   

一、守护线程

  1. 守护线程设置必须在start之前;如果在start之后,设定为守护线程,设定无效,且如果线程在执行过程中,将会抛出异常:IllegalThreadStateException
  2. 守护线程中创建的线程默认是守护线程,可以更改
  3. Timer是单线程且可以设置为守护线程;GC线程是典型的守护线程

二、Runnable和Callable区别

  1. Runnable需要实现run方法,Callable需要实现call方法
  2. run方法没有返回值,call方法需要有返回值
  3. run方法中的异常只能自己处理,不能抛出;call方法异常可以抛出
  4. 使用Thread创建线程时,Runnable可以直接作为入参或者使用FutureTask封装;Callable只能使用FutureTask封装,不能直接作为入参
  5. 使用ExecutorService创建线程时,Runnable可以直接使用execute或submit执行;Callable只能直接被submit执行,不能被execute执行;两者被FutureTask封装后,两者皆可

三、ThreadGroup

  ????

四、线程同步和线程安全

五、线程池

多线程

标签:不能   必须   reads   设置   start   默认   state   stat   更改   

原文地址:https://www.cnblogs.com/gjzworker/p/8494811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!