您的位置:首页 > 编程语言 > Java开发

线程相关部分知识点小结

2017-11-16 16:02 274 查看
一、Callable和Runnable的区别

1、Callable规定的方法时call,Runnable规定的方法时run,其中实现Runnable接口的类需要通过Thread类包装后,在进行启动

而Callable一般交由ExecuteService来执行

2、Callable执行任务后可返回值,Runnable执行完任务不能返回值

3、Callable的方法可以抛出异常,run方法不可以

4、运行Callable任务可以拿到一个Future对象,可以表示异步运算的结果

二、sleep和wait方法的区别

wait方法时object类的一个实例方法,执行该方法的线程会进入等待状态,且释放锁以便其他线程可以使用;

sleep方法为Thread类的一个静态方法,执行该方法的线程会进入休眠状态,且不会释放锁。

三、关于ThreadLocal

1 ThreadLocal的对象tl为当前线程私有的对象,即别的线程无法访问

2 可以将一个web不同级的共享对象的引用存进tl,也可以将共享对象的方法写入类中

3 每个ThreadLocal都是一个map对象  <ket(ThreadLocal1>,value(共享对象引用)>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程 java 对象 实例