社区
C语言
帖子详情
请教各位.谢了先
birdinfly
2001-09-04 08:04:34
A,B,C三个线程,A中的func()中动态申请了g_pA1,g_pA2变量
等指向几块内存区域,并写入一定的数据.
B调用外部函数func()时希望申请到的g_pA1,g_pA2只在B中有效,
C调用func()时也希望申请到的g_pA1,g_pA2只在C中有效,不受B中调用func()的干扰,
我应该怎么来做?谢谢
...全文
74
2
打赏
收藏
请教各位.谢了先
A,B,C三个线程,A中的func()中动态申请了g_pA1,g_pA2变量 等指向几块内存区域,并写入一定的数据. B调用外部函数func()时希望申请到的g_pA1,g_pA2只在B中有效, C调用func()时也希望申请到的g_pA1,g_pA2只在C中有效,不受B中调用func()的干扰, 我应该怎么来做?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cgaga
2001-09-04
打赏
举报
回复
对此类问题有两种解决办法
1。使用线程本地存储区域,具体方法是
a.使用DWORD TlsAlloc()分配一个线程本地存储区索引
b.使用BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue);将你的变量绑定到此索引
c.使用 LPVOID TlsGetValue(DWORD dwTlsIndex);获取域一个索引相关的变量
d.如果不在需要此索引了,使用BOOL TlsFree(DWORD dwTlsIndex);释放索引
此种方式由个局限,即每个线程可分配的索引数是有限定的nt4.0以前为64个,2000中是1088个
2。使用线程相关类
可以为每个线程定义如下一个类,每个线程对应一个类,
现程函数即类成员函数,这样每个线程访问的都是本线程相关的数据
如定义如下的类
class CMyThread{
public:
int* m_pA1;
int* m_pA2;
BOOL StartThread(){
_beginthread(_ThreadProc,0,this);//关键:将自身做为线程创建参数传入线程中
}
private:
void ThreadProc(){
这里是实际的线程函数,可以访问此线程关联的类中的所有成员
}
//线程函数必须是全局函数或类静态成员函数
static void _ThreadProc(void *pParam){
//pParam即传入的this
((CMyThread *)pParam)->ThreadProc();
}
};
我个人比较喜欢下面这种,他和c++结合的较好,而且效率要比前一种高
dongyingtao
2001-09-04
打赏
举报
回复
我想你需要定义线程本地存储区域,可以利用Win32 API的TlsAlloc申请
html的position边距怎么修改,css,position_关于设置了position:absolute的元素的位置设定:left和margin-left。困扰多时...诚向各位前辈
请教
!,cs...
诚向各位前辈
请教
!实现一个自适应布局,效果图和HTML代码如下:侧栏主栏要求两栏间距为10px。css代码如下:.parent{font-size:22px;font-family:"微软雅黑";color:#fff;text-align:center;outline:2pxsoli...
51cto技术论坛
小弟有一些编程技术问题想
请教
各位前辈大侠们... 希望哪位前辈看到我的文章后帮帮小弟... 在此
先
行
谢
过了.... 一拜...二拜...再拜.... 惭愧惭愧...刚申请了号急于求解...缺少思考..。慌了神...到论坛里居然...
各位大哥,
请教
一下这个有关查询的简单问题,
先
谢
了~
各位大哥,
请教
一下这个简单问题:procedure Tseestu.Button1Click(Sender: TObject);var sname:String;begin sname:=edit1.text; Panel1.Show; Panel1.Visible:=true; query1.Close; query1.SQL.Clear; query1....
各位大神一个问题
请教
一下,望指点
谢
过了
我是小白第一次上来,很想自己把他给解了,望大神指点指点, 情况是这样的,安卓6.0系统如图1所示 打开允许安装非授权应用要密码,但是密码忘了 希望大神给个详细一点的法子,
先
谢
过了
各位大神,
请教
一个问题
安全组和传统的VLAN有什么异同?
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章