Delphi Programming

  1. Home
  2. Computing & Technology
  3. Delphi Programming

Threading in Delphi

Writing multi-threaded applications with Delphi, applications that include several simultaneous paths of execution.
Synchronizing Threads and GUI in Delphi application
Multi-threading in Delphi lets you create applications that include several simultaneous paths of execution. When several threads are running in the application a question arises: how to update your GUI (user interface) as a result of a thread execution. The question lies in the TThread class Synchronize method.
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).
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.
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.
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...."
Creating threads straight from the WinAPI
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.
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.
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.
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?
Multi-Threading And COM
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.
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?
Thread Synchronization through Critical Sections
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..."
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
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

Explore Delphi Programming

About.com Special Features

Delphi Programming

  1. Home
  2. Computing & Technology
  3. Delphi Programming
  4. Coding Delphi Applications
  5. Threading in Delphi

©2009 About.com, a part of The New York Times Company.

All rights reserved.