Threading in Delphi
Writing multi-threaded applications with Delphi, applications that include several simultaneous paths of execution.
Multithreaded Delphi Database Queries
To speed up data processing, for example, fetching data from the database to create reports, you can add an additional thread to fetch and operate on the result (recordset). Learn about the traps in writing Multithreaded Delphi Database Queries with dbGo (ADO).
To speed up data processing, for example, fetching data from the database to create reports, you can add an additional thread to fetch and operate on the result (recordset). Learn about the traps in writing Multithreaded Delphi Database Queries with dbGo (ADO).
Folder SIZE
Folder SIZE displays a tree view of subfolders within a folder, number of subfolders (with a Pie Chart of the subfolder disk space usage), subfolder sizes, and the total size of all folder contents. Multithreading makes Folder SIZE super fast.
Folder SIZE displays a tree view of subfolders within a folder, number of subfolders (with a Pie Chart of the subfolder disk space usage), subfolder sizes, and the total size of all folder contents. Multithreading makes Folder SIZE super fast.
Monitoring Registry Changes
Need to get notified about changes to the attributes or contents of a specified Registry key? Them you are ready for: Part 4 to your 'Big Brother' Delphi code toolkit.
Need to get notified about changes to the attributes or contents of a specified Registry key? Them you are ready for: Part 4 to your 'Big Brother' Delphi code toolkit.
Better Threads For The VCL
"Having a thread execute a closure is simpler and cleaner than putting application code into a TThread's Execute method...."
"Having a thread execute a closure is simpler and cleaner than putting application code into a TThread's Execute method...."
Creating threads straight from the WinAPI
How can I implement threads in my programs without using the VCL TThread object?
How can I implement threads in my programs without using the VCL TThread object?
Debugging Multithreaded Deadlocks
Tips and tricks to designing your multithreaded systems and finish off with a utility, DeadlockDetection that will tell you where your application deadlocked. Code in C but the ideas are the same from Delphi.
Tips and tricks to designing your multithreaded systems and finish off with a utility, DeadlockDetection that will tell you where your application deadlocked. Code in C but the ideas are the same from Delphi.
Delphi threading by example
This article introduces the art of threading and synchronization, providing an example that searches for a specific string in multiple files.
This article introduces the art of threading and synchronization, providing an example that searches for a specific string in multiple files.
Fun With Threads
An application that searches for all the files in a directory and its subdirectories, queues them into a list, then uses threads to run checksums on the files. Learn some practical tips to make threading in your applications more efficient.
An application that searches for all the files in a directory and its subdirectories, queues them into a list, then uses threads to run checksums on the files. Learn some practical tips to make threading in your applications more efficient.
How to interrupt a thread's execution
Let's say that once I start a thread up, I pop up a progress window that has a cancel button on it to cancel execution of the thread. How do I implement this?
Let's say that once I start a thread up, I pop up a progress window that has a cancel button on it to cancel execution of the thread. How do I implement this?
Multi-Threading And COM
This article provides an understanding of the concepts, terminology and issues involved in multi-threaded COM programming.
This article provides an understanding of the concepts, terminology and issues involved in multi-threaded COM programming.
Multithreading - The Delphi Way
Great "online book". Chapters: What are threads? Why use them?, ... Critical sections and mutexes... Semaphores. Data flow scheduling.
Great "online book". Chapters: What are threads? Why use them?, ... Critical sections and mutexes... Semaphores. Data flow scheduling.
Running Queries in Threads
I have several programs that run large queries, and would like to move the query processing to one or more background threads. How can I implement this in my program?
I have several programs that run large queries, and would like to move the query processing to one or more background threads. How can I implement this in my program?
Thread Synchronization through Critical Sections
How do we employ Critical Sections to synchronize two or more threads accessing the same data in Delphi?
How do we employ Critical Sections to synchronize two or more threads accessing the same data in Delphi?
Waiting for Threads
"...The threads execute fairly quickly, but I don't want the user to move on to the next task until the threads are absolutely finished..."
"...The threads execute fairly quickly, but I don't want the user to move on to the next task until the threads are absolutely finished..."
Using Semaphores in Delphi, Part 1
Semaphores are like mutexes on steroids. Not only can they coordinate multiple threads and process, but they can permit more than one simultaneous lock. This article shows you how to use these useful objects in a multithreaded environment
Semaphores are like mutexes on steroids. Not only can they coordinate multiple threads and process, but they can permit more than one simultaneous lock. This article shows you how to use these useful objects in a multithreaded environment
Using Semaphores in Delphi, Part 2: The Connection Pool
Semaphores are used to coordinate multiple threads and processes. The ability of semaphore to provide multiple threads with simultaneous access to a shared resource is highlighted by the TFixedConnectionPool class described in this article
Semaphores are used to coordinate multiple threads and processes. The ability of semaphore to provide multiple threads with simultaneous access to a shared resource is highlighted by the TFixedConnectionPool class described in this article
