线程的切换,线程局部存储
发布日期:2022-02-24 11:35:58
浏览次数:9
分类:技术文章
本文共 510 字,大约阅读时间需要 1 分钟。
线程的切换:cpu 的时间片 分配。
线程的局部存储(thread _local storage,TLS):存储各个线程局部数据的系统。为进程中的每个线程关联自己的数据。
在这里 提出一个疑问:为什么要使用线程局部变量?而不直接使用线程函数里面的局部变量或者静态变量呢? 想了一下 觉得是这样的:线程局部变量 相当于我们普通程序的全局变量(它不属于某个函数,作用域是整个源程序)。而线程局部变量(它属于单个的某个线程,作用域是整个线程)。也就是说线程函数里面会调用一些其它的函数,这些函数是可以改变线程局部变量的。(即需要在一个线程内部的各个都能访问、但其它线程不能访问的)。而线程函数内定义的静态变量,是所有线程可以访问的共享变量。所以提出来了“线程局部存储”。
管理TLS的数据结构:windows仅为系统中的每一个进程维护一个位数组,再为该进程中的每一个线程申请一个同样长度的数组空间。
动态使用TLS的典型步骤:
1.主线程调用TlsAlloc函数为线程局部存储分配索引。
2.每个线程利用TlsSetValue和TlsGetvalue来设置和读取线程数组中的值。
3.主线程调用TlsFree释放局部存储索引。
转载地址:https://blog.csdn.net/huxinguo/article/details/8656242 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年03月28日 23时34分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Android平台】 Alljoyn学习笔记四 Android Core API参考
2019-04-26
【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
2019-04-26
【Alljoyn】 Alljoyn学习笔记六 Alljoyn基本概念
2019-04-26
【Alljoyn】 Alljoyn学习笔记七 Alljoyn瘦客户端库介绍
2019-04-26
【Android】Activity生命周期
2019-04-26
【Android】Activity的四种launchMode
2019-04-26
【Android】Activity的task相关
2019-04-26
【Android】 Intent应用详解
2019-04-26
【Android】 Intent详解
2019-04-26
【Android】 常用的Intent
2019-04-26
Android中AsyncTask的简单用法
2019-04-26
【Android】 Android中Log调试详解
2019-04-26
【Android】Android中WIFI开发总结(二)
2019-04-26
【Android】Android之WiFi开发应用示例
2019-04-26
【Android】 Android adb常见问题整理
2019-04-26
【Android】 Android体系结构图
2019-04-26
【Android】 Android中spinner下拉列表的使用
2019-04-26
说说在 python 中,如何删除左右两边不需要的字符
2019-04-26
说说如何管理 Spring Boot 中的起步依赖
2019-04-26