书上说VCL的线程同一时间只能由一个主线程访问,这样做是为了线程安全。所用的方法为synchronize,我想问的问题是
1.synochronize穿的是地址,由主线程调用,其实还是穿递的消息,是否可以认为和回调函数差不多。
2.如何区分函数是在主线程里跑还是在附加线程里跑啊。我如果写一个附加线程,点button,后create(false),它是否可以视为是主线程发消息导致在附加线程里跑?这个和1有什么区别啊。
3.我在一个VCL里放一个BUTTON,点击后将VCL里的EDIT.TEXT放入附加线程对象属性,然后再点另个BUTTON将附件线程的属性值直接存入VCL里的另个EDITE.TEXT.这样结果是可行的.再点VCL的第二个BUTTON时,附加线程是在独立线程里跑吗?还是在VCL里的主线程跑。实际上并没有报错。不用synchronize也可以。
1.synochronize穿的是地址,由主线程调用,其实还是穿递的消息,是否可以认为和回调函数差不多。
2.如何区分函数是在主线程里跑还是在附加线程里跑啊。我如果写一个附加线程,点button,后create(false),它是否可以视为是主线程发消息导致在附加线程里跑?这个和1有什么区别啊。
3.我在一个VCL里放一个BUTTON,点击后将VCL里的EDIT.TEXT放入附加线程对象属性,然后再点另个BUTTON将附件线程的属性值直接存入VCL里的另个EDITE.TEXT.这样结果是可行的.再点VCL的第二个BUTTON时,附加线程是在独立线程里跑吗?还是在VCL里的主线程跑。实际上并没有报错。不用synchronize也可以。
解决方案 »
- 神奇的Delphi
- rzpagecontrol、cxpagecontrol如何右键关闭?
- 中国这么多牛人就不信搞不定这问题【Delphi中如何通过封装flash控件使背景透明和实现使用流播放】【上次同样问题帖已结贴,分数都给啦!算是补上上次的!o(∩_∩)o...哈哈】
- 请问:只知道一个窗体的名字的字符形式,可不可以创建这个窗体
- 如何知道在"局域网"内的某IP的机器的是否开机?
- 超简单问题:DELPHI中如何禁止TCanvas的BRUSH?
- Delphi2005连接Sybase数据库的问题,高手请进。
- 一程序调用多窗口的问题
- 在线急等:自己开发的软件,已经注册了版权,可以直接以个人身份销售了吗?还需要哪些手续呢?
- 怎么没有高手进来呀!
- 能在delphi2009安装indy10.2.3吗?如何安装?
- DEPHI应用开发--连接DB2数据的几个问题
WakeMainThread 发送WM_NULL 消息,然后消息响应, 从全部列表中取出事件执行, 和回调没什么关系
2 根据判断线程ID与MainThreadID 是全局变量,可以直接取出的
3 VCL线程不安全,不是一操作就会报错的