线程相关部分知识点小结

来源:互联网 发布:数据运营手册 pdf 编辑:程序博客网 时间:2024/06/07 02:57
一、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(共享对象引用)>
原创粉丝点击