本文介绍了CLR中线程局部变量的保存方式,即TLS技术,并通过示例代码展示了如何使用TLS记录线程的运行时间。通过TlsAlloc、TlsSetValue和TlsFree等API函数进行操作,实现了在线程内部申请索引、获取线程起始时间和计算线程运行时间的功能。
ThreadLocal(TL)是Java中一种线程局部变量实现机制,为每个线程提供一个单独的变量副本,保证多线程场景下的线程安全。InheritableThreadLocal(ITL)是JDK提供的TL增强版,TransmittableThreadLocal(TTL)是阿里开源的ITL增强版。ITL解决了TL子线程遗传性的问题,通过将可遗传的ThreadLocal放在父线程新的ThreadLocalMap中,在子线程首次使用时进行拷贝。TTL在ITL上做了封装,通过封装线程池和任务,让子线程感知父线程的ThreadLocal变化。
完成下面两步后,将自动完成登录并继续当前操作。