线程中使用Synchronize的问题!!!!

yy2001 2004-07-03 09:59:06
在线程中是否可以在Execute外的其它函数中使用Synchronize?并且Synchronize执行的函数内是否还可以有Synchronize,如这样是否可以:
void __fastcall Thread::Execute()
{
a();
}
void __fastcall Thread::a()
{
-----
Synchronize(b);
}
void __fastcall Thread::b()
{
-----
Synchronize(c);
}

...全文
161 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
robbyzi 2004-07-03
  • 打赏
  • 举报
回复
void __fastcall Thread::Execute()
{
a();
}
void __fastcall Thread::a()
{
-----
Synchronize(b);
}
void __fastcall Thread::b()
{
-----
Synchronize(c);
}

//------------------------------------

楼主这样写肯定可以的,偶从来不会在线程中直接写的,都通过其它函数来调用Synchronize操作的。
yy2001 2004-07-03
  • 打赏
  • 举报
回复
TAdoQuery也不是线程安全的吧?我原想把一个挺复杂的数据库操作放到一个线程中,但就要用Synchronize,那应该就是没有效果了吧?请问用什么方法能解决这个问题,使数据库操作不影响主程序处理?
ahaozi 2004-07-03
  • 打赏
  • 举报
回复
当然可以啊。只要是在线程类中都可以调用的!
yy2001 2004-07-03
  • 打赏
  • 举报
回复
我的意思是这么用是否可以呢?
叶子哟 2004-07-03
  • 打赏
  • 举报
回复
在第一个用就行了

用这个Synchronize,如同没用线程一样




13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧