当一个线程在使用时,如果这个函数使用了Synchronize修钸的话就不允许别一个线程来调用这个函数,它的目的是避免多个子线程同时访问主线程资源。
示例:
procedure TTaskThread.ShowSuccess;

begin

frmMain.Memo1.Lines.Append('操作成功');    //操作主线程资源

end;

procedure TTaskThread.Execute;

begin

synchronize(ShowSuccess);                        // 线程中执行

end;

当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchronize参数里面的代码就是多线程需要公共的代码!

最新文章

  1. SQLite3
  2. redis3.2新增属性protected mode
  3. 【代码笔记】iOS-手机验证码
  4. OSPF
  5. Java 8 Lambda表达式
  6. Maven实战(六)--- dependencies与dependencyManagement的区别
  7. Flex基础相关
  8. AngularJS: 自定义指令与控制器数据交互
  9. Codeforces 484E Sign on Fence(是持久的段树+二分法)
  10. Node.js 事件循环机制
  11. 3D Slicer Hide 3D Cube and Axis Labels Programmatically 使用代码隐藏三维视图中的方框和坐标轴标签
  12. 基于FPGA的序列检测器10010
  13. Java中的equals和hashCode方法详解
  14. 特别篇:Hyper-v群集模拟实战演示
  15. 2017 ACM/ICPC(西安)赛后总结
  16. SDWebImage之SDWebImageDownloaderOperation
  17. 如何创建带有大纲和书签的交互式web报表
  18. request.POST 和 request.GET
  19. 微信小程序的json遍历
  20. java自学入门心得体会 0.1

热门文章

  1. css-position
  2. SLES 10安装Oracle10gR2笔记
  3. js的match()方法介绍
  4. 景区3D指纹验证系统解决方案
  5. jQuery Length属性
  6. PNG的使用技巧
  7. MIT牛人解说数学体系
  8. c语言的continue
  9. mysql 5.6.34 二进制
  10. Python ZIP压缩