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 개별 수집 항목의 종속 처리
- 종속적 인 ParallelCollections.dpr
- 종속적 인 ParallelCollections.dproj
- 종속적 인 ParallelCollectionSmainf.pas
- 종속적 인 ParallelCollectionSmainf.dfm
3 부. 핵심 프레임 워크
16 장. 직렬화
- 직렬화 .dpr
- 직렬화 .dproj
- SerializationMainf.pas
- SerializationMainf.dfm
17 장. System.net
- netclient.dpr
- netclient.dproj
- netclientMainf.pas
- netclientMainf.dfm
19 장. 인디
- indy.dpr
- indy.dproj
- indymainf.pas
- indymainf.dfm
20 장. 휴식
- RESDDEMO.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-async에서 응용 프로그램을 종료하는 방법에 대한 예제를 찾을 수 있습니다.