读书人

一个关于Synchronize的有关问题

发布时间: 2012-03-12 12:45:32 作者: rapoo

一个关于Synchronize的问题
我的程序基本结构是这样的:
void __fastcall myhread::Execute()
{
........
main();
.......
}
void __fastcall myhread::main()
{
............
process(BYTE* ptr)
...........
}
void __fastcall myhread::process(BYTE* ptr)
{
mypointer = ptr ////我要在myfunction里面用ptr,就申请一个全局变量 mypointer来传递
Synchronize(MyFunction)

............//后面还有处理ptr的程序
}
void __fastcall myhread::MyFunction()
{
//在memo中显示mypointer的内容
}
我的问题是,因为Sychronize后,MyFunction是由主线程调用的,但在process函数后半部还有处理ptr的函数,所以在memo中显示mypointer内容时,会不会已经被修改了?

[解决办法]
既然担心,为啥不重新开辟一个临时BYTE*空间?
[解决办法]
不用担心,你在处理MyFunction已将要显示的数据复用到memo中了。

读书人网 >C++ Builder

热点推荐