易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi中Synchronize

delphi中Synchronize这个东东有什么用?我知道是线程同步使用的
是否是一个函数或变量,当一个线程在使用时,如果这个函数使用了Synchronize修钸的话就不允许别一个线程来调用这个函数
1楼:别的线程会等待该操作完成后才能继续
2楼:你说的基本是这个意思。它的目的是避免多个子线程同时访问主线程资源。
示例:
procedure ServerThread.ListItemEnd; //子线程的一个方法
begin
if (ListItem <> nil) then
ListItem.SubItems.Strings[3] := '传送完毕'; //ListItem是主线程的一个TreeView的一行
end;
procedure ServerThread.ClientExecute; //子线程执行
begin
Synchronize(ListItemEnd);
//如果直接写ListItemEnd,可能发生冲突。
end;
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”等字样,删除它们';
I.Desire := '加不加分随你';
—————————————————————————————————
     
3楼:当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchronize参数里面的代码就是多线程需要公共的代码!
4楼:1。synchronize方法的产生与vcl的局限性有关,因为vcl控件在同一时刻只能被单线程访问,如果多个线程同时访问vcl,vcl会出现问题。所以问了安全地访问vcl,Tthread类提供了一个方法叫synchronize,他可以让线程中的方法在主线程中执行,所以我们可以把访问vcl的代码都放在这个方法中,然后由主线程执行,从而确保vcl能被安全地访问调用.它的类型是TThreadMethod=procedure of object;procedure 参数:Sychronize(Method:TThreadMethod);
2。当创建一个线程时,vcl会�


相关文档:

Delphi操作注册表的一般步骤

Delphi操作注册表步骤如下:
-------------------------------------
1)在Uses中添加Registry单元;
2)声明TRegistry对象;
3)创建TRegistry对象;
4)指定根键;
----------------try------------------
5)打开需要操作的主键;
6)读写操作;
7)保存并关闭主键;
--------------finally----------------
......

WIN32下DELPHI中的多线程【深入VCL源码】(一)

线程的基础知识
      线程的组成。线程有两部分组成。
     1、一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。
     2、另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局� ......

在Delphi应用程序中使用DLL

在Delphi应用程序中使用DLL
  Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。 
  Delphi与VisualBasic、VisualFoxPro等软件一样,属于RAD工具(快速应用开发工具)。适合开发32位或16位/32位混合应用程序。Delphi所使� ......

用delphi制作OCX库文件(一)

开发步骤:
1、创建ActiveX Library工程。
2、创建COM Object。
3、创建Type Library,并创建相应接口。
4、创建接口对应的函数和实现。
具体如下:
1、创建ActiveX Library工程。
new|other|activeX|activeX library
Delphi会自动生成框架代码,直接编译的话就可以得到一个dll文件了;
如果想编译出来的是ocx文 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号