新人搞多线程,把我搞晕乎了,大虾支支招吧,谢谢了
时间:2011-11-23
来源:互联网
implementation
var
Ghwnd : Thandle; //全局变量
procedure TTestThread.Execute; //线程过程
procedure diaoyongxiancheng();
TTestThread.Create(false); //第一次调用
TTestThread.Create(false); //第二次调用
现在问题出来了,第二次调用后,只有第二次调用的那个线程的变量Ghwnd是有值的,第一次调用的那个线程中的变量Ghwnd变成空的了。
书上和网上不都说在多个线程中,每个线程的变量不会相互影响吗,为什么我这样弄会出现这种情况呢,还请老鸟们指点一下哈,解决了好让我去睡觉。。。。非常谢谢~~!!
作者: a80141783 发布时间: 2011-11-23
delphi 那个封装的类先不要研究
作者: warrially 发布时间: 2011-11-23
作者: dmfssdut 发布时间: 2011-11-23
作者: a80141783 发布时间: 2011-11-23
线程里面定一个变量,创建时记录一下这个全局变量
是不是这样,在线程里面这样做:
var
linshi:Thandle;
然后再
linshi:=Ghwnd;
请问是这样吗?
作者: a80141783 发布时间: 2011-11-23
引用 2 楼 dmfssdut 的回复:
线程里面定一个变量,创建时记录一下这个全局变量
是不是这样,在线程里面这样做:
var
linshi:Thandle;
然后再
linshi:=Ghwnd;
请问是这样吗?
对的,同一进程的线程使用同一存储空间,所以全局变量可以被所有线程修改。
作者: lhylhy 发布时间: 2011-11-23
作者: wonfon 发布时间: 2011-11-23
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28