Delphi线程安全图案的代码示例
https://dalija.prasnikar.info/delphitspatt/
https://dalija.prasnikar.info
第2部分。核心运行时库
第5章。浮点控制寄存器
- brokenmath.dpr
- brokenmath.dproj
- safemath.dpr
- safemath.dproj
第7.1章。参数
- 参数.dpr
- 参数。dproj
- parametersmainf.pas
- parametersmainf.dfm
第8章。班级字段,单例和默认实例
- Singletons.dpr
- Singletons.dproj
- Singletonsmainf.pas
- singletonsmainf.dfm
- SingletonClasses.pas
- SingletonLocal.pas
- singletonclassprop.pas
- Singletonlazy.pas
第12章。收藏
- collectionstest.dpr
- collectionstest.dproj
- collectionsmainf.pas
- collectionsmainf.dfm
第13章。并行收集处理
13.1单个收集项目的独立处理
- ParallelCollections.DPR
- ParallelCollections.DPROJ
- ParallelCollectionsMainf.pas
- ParallelCollectionsMainf.dfm
13.2单个收集项目的依赖处理
- depententparallelCollections.dpr
- 依赖性parallectarcollections.dproj
- depententParallelCollectionsMainf.pas
- depententParallelCollectionsMainf.dfm
第3部分。核心框架
第16章。序列化
- Serialization.dpr
- Serialization.dproj
- serializationmainf.pas
- serializationmainf.dfm
第17章。系统.NET
- netclient.dpr
- netclient.dproj
- NetClientmainf.pas
- NetClientmainf.dfm
第19章。印地
- Indy.dpr
- indy.dproj
- Indymainf.pas
- indymainf.dfm
第20章。休息
- RESTDEMO.DPR
- RESTDEMO.DPROJ
- RESTMAINF.PAS
- RESTMAINF.DFM
第21章。正则表达式
第5部分。图形和图像处理
第27章。资源消耗
- Resources.dpr
- Resources.dproj
- Resourcesmainf.pas
- Resourcesmainf.dfm
第30章。VCL图形示例
- Images.dpr
- Images.dproj
- imagesMainf.pas
- imagesmainf.dfm
第6部分。自定义框架
第33章。记录
- nx.log.pas
- logging.dpr
- logging.dproj
第34章。取消令牌
- nx.tokens.pas
- tokens.dpr
- tokens.dproj
- tokensmainf.pas
- tokensmainf.dfm
第35章。活动巴士
- nx.horizon.pas
- Horizon.dpr
- Horizon.dproj
- HorizonMainf.pas
- HorizonMainf.dfm
第36章。衡量性能
- nx.Chronos.pas
- zerothread.dpr
- zerothread.dproj
注意:提出的示例的目的是显示线程 - 不安全的代码以及在此类代码中可能出现的问题,或者在运行多个线程时显示实现线程安全代码的一般编码模式。由于其中许多人没有在应用程序关闭时实施适当的清理,并且如果您在启动背景任务或线程完成工作之前关闭应用程序,则应用程序可能会崩溃。
为了执行干净的关闭,您要么需要等待任务或线程完成,要么使用其他一些机制,这些机制将阻止在应用程序关闭期间访问GUI或其他共享数据。
您可以找到有关如何在https://github.com/dalijap/code-delphi-ashync中关闭应用程序的示例