当前位置: 首页 > news >正文

匿名方法实现多线程同步到主线程执行

高版本DELPHI提供的匿名方法,如果使用的好,可有效地节省代码。

procedure TCMServerForm.CMServerTransportDisconnectEvent(Event: TDSTCPDisconnectEventObject);
var
Index: Integer;
begin
if (FConnections = nil) or (Event.Connection = nil) then
Exit;

// 进入临界保护
System.TMonitor.Enter(FConnections);
try
FConnections.Remove(TIdTCPConnection(Event.Connection));

// 匿名方法同步到主线程执行

TThread.Synchronize(nil, procedure
begin
//update the connection list box, removing the connection that was just closed
Index := ConnectionsList.Items.IndexOfObject(Event.Connection);
if Index > -1 then
begin
ConnectionsList.Items.Delete(Index);

if ConnectionsList.SelCount = 0 then
SessionIdList.ClearSelection;
end;
end);
finally

// 退出临界保护
System.TMonitor.Exit(FConnections);
end;
end;

相关文章:

  • 又无题
  • 关于数据库自我描述功能的构思
  • POJ 3648 Wedding(2-ST)
  • topcoder srm 460 div1
  • ssh-agent
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 基于原型链劫持的前端代码插桩实践
  • Java动态代理机制——那些让你面试脱颖而出的技能 推荐
  • python正则表达式的使用
  • Nginx配置SSL实现服务器/客户端双向认证
  • reqeusts用法
  • 【总结整理】交互心理学---摘自《人人都是产品经理》
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • 在线uml软件,在线思维导图软件
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • git 常用命令
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Shadow DOM 内部构造及如何构建独立组件
  • tensorflow学习笔记3——MNIST应用篇
  • Travix是如何部署应用程序到Kubernetes上的
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前端技术周刊 2019-01-14:客户端存储
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • Python 之网络式编程
  • 函数计算新功能-----支持C#函数
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)c52学习之旅-简单了解单片机
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十)c52学习之旅-定时器实验
  • (十八)SpringBoot之发送QQ邮件
  • (四)图像的%2线性拉伸
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Net - 类的介绍
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net 设置默认首页
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • [2018-01-08] Python强化周的第一天
  • [Android]创建TabBar
  • [c++] 自写 MyString 类
  • [docker]docker网络-直接路由模式
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)
  • [HCIE] IPSec-VPN (手工模式)