多线程的问题,Synchronize(50分)

  • 主题发起人 主题发起人 wkx2002
  • 开始时间 开始时间
W

wkx2002

Unregistered / Unconfirmed
GUEST, unregistred user!
第一个问题:
我问一下,Synchronize,这个方法,怎么理解啊,怎么同步法.
是不是,只争对,主线程的的vcl控件,而言.
那对于,主线程的全局变量怎么同步法?
对于线程的同步,怎么同步?什么时候,需要同步?
第二个问题:
我想公用一个adoconnection,窗体一创建时候,就进行连接数据库.
然后,自动创建多各线程.这样可以吗.
比如:创建三个线程,
adoquery1.Connection:=adocon;
adoquery2.Connection:=adocon;
adoquery3.Connection:=adocon;
thread1:=TFthread.create(adoquery1,1);
thread2:=TFthread.create(adoquery1,2);
thread3:=TFthread.create(adoquery1,3);
这样可以吗?
 
Synchroniz是优化同步
2:用DATAMODE 数据集
 
大家帮帮忙
 
那多个线程同时访问数据库,会不会出问题.
 
那怎么实现同步
 
这位大哥,帮帮忙
 
delphi下面有一个自有的DEMO
 
没看太明白,那个例子
 
EnterCriticalSection,这个怎么用啊,跟Synchroniz有什么区别
 
各路高手,帮帮忙
 
我对这个同步,不是太熟,大家提个想法.先感谢大家了.
 
临界区:
EnterCriticalSection(CS);
//让当前线程 进入临界区,如果不退出,其它的线程是不能进入了,当别的线程调用这个的时候,就只能在这里等待,等待前一个退出
//...........你的操作
LeaveCriticalSection(CS);
//离开临界区
DeleteCriticalSection(cs);//删除啦
 
cs, 是,公共的变量,是不
 
那跟Synchroniz,有区别吗?这个不是同步吗?
 
EnterCriticalSection,这个,delphi,没有自带把.要引用什么单元
 
大家关注一下啊.谢谢大家啊
 
建议看看《delphi5开发人员指南》,
这本书不错,
有一章单独说了线程的问题,
比较详细,您问的书上差不多都有,
还是看书,比较系统点,
你这样问效果不是太好,
我个人是这样认为的,
 
我觉得也是,要不你找个例子,要不你读书
Synchroniz只是在后台线程运行的时候,能够刷新VCL
而EnterCriticalSection系列是在线程同步的时候使用的,创建一个临街区以保护现场。否则你的数据就乱套了,如果你有多个线程在运行的话。
随便说说,错了别骂我
 
Synchronize的作用是: 有些事情必须由主线程来做。
做完后,子线程继续。
 
谢谢大家的建议.
delphi5开发人员指南,哪位哥们有啊.发一个给我看看.谢谢这位哥们.
我对线程这个逻辑,还不是特别明白.
要是有的话,给我发到一个信箱.wkx2002@163.com
谢谢大家的宝贵意见.
 
后退
顶部