开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:threadLocal 和 threadpool】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/24/detail/495
threadLocal和threadpool
内容介绍
一、threadLocal 和 threadpool
一、threadLocal 和 threadpool
ThreadIocal 类的最大特征是可以保存一个引用数据类型,并且这个引用数据类型保存的时候会自动保存有一个 currentThread() 对象,这样的最明确的好处就是可以避免引用传递的问题。
范例:传统的引用传递有些啰嗦
package cn.mldn.demo;
class A {
private string info ;
public void setInfo( string info) {
this.info = info;
}
public string getInfo( ) {
return info;
}
}
class B {
public static void print(A a) i
system.out.print1n(a.getinfo
());
}
}
public class ThreadLocalDemo {
public static void main( String[ ] args) {
A a = new A() ;
a.
setInfo( "mldn" ) ;
B.print(a);//
此时必须要明确的给出一个引用类型
}
必须明确的给出一个引用类型。那么如果说现在我不想明确的使用引用类型进行传递,那么能否实现呢?
这种 ThreadLocal 很少会直接出现在程序的开发之中,包括在以后的项目编写里面,如果你使用的是框架开发技术这一点几乎是不可见的,如果要想特别清楚的理解,那么就必须充分的理解《 Java 业务分析设计》。
ThreadPool 指的是线程池,也就是说提供有一个对象池,这个对象池里面可以有若干个线程对象帮助我们进行可重复使用的对象生成,而对于线程池。
一共有四种:无限制增长、定长执行、定时操作、单线程单线程池。
此时在这个线程池里的对象将一直进行使用,如果该对象不够使用了,那么就将产生新的对象以供使用。
线程池的整体概念是留给线程重用的操作。
在现在的一些公司的笔试里面经常会出现线程池的概念。