对于ThreadLocal的一点点理解,欢迎指正
Topic source如果一个线程运行时会执行多个函数,N个线程同时执行的话,你如何保证一个局部变量能在所有的函数之间正确的传递?比如线程1和线程2同时执行方法A时,方法A中的局部变量是给A合适还是给B合适?“ThreadLocal就是一个全局的dict,每个线程自己作为key只能访问对应的value”,我也是这么理解的,这样起到了不同线程间数据隔离的作用。
- 1
如果一个线程运行时会执行多个函数,N个线程同时执行的话,你如何保证一个局部变量能在所有的函数之间正确的传递?比如线程1和线程2同时执行方法A时,方法A中的局部变量是给A合适还是给B合适?“ThreadLocal就是一个全局的dict,每个线程自己作为key只能访问对应的value”,我也是这么理解的,这样起到了不同线程间数据隔离的作用。
王珺飞MCFC
我认为ThreadLocal就是一个全局的dict,每个线程自己作为key只能访问对应的value,也就是自己的资源。(这些资源性质上相当于线程的局部变量,但是是放在数据段的,而不是线程自己的栈上)