Asynchronous Programming with Qt - Pitfalls and Techniques

KDE User and Administrator Conference

KDE Developers and Users Conference 2005

Speakers: David Faure & Till Adam

Language: English

Check the Schedule for an overview of all talks during this conference.

In the real world (much as we loathe it) things frequently cannot be relied upon to happen immediately and finish quickly. It is therefore often necessary to allow for asynchronous operations, which are triggered and then complete after some period of time. Once done, they signal completion to the application, while the application itself moves along and does something else, such as repainting the user interface to keep it responsive. This fundamentally changes the flow of control of the application. In a synchronous system each event triggers a linear series of operations which complete in order and only when they are all done is the next event handled. In the presence of asynchronousity new events can come in and trigger operations while others are still in progress. Such systems are more complex and have to deal with a unique class of problems.

Drawing from their experiences of dealing with highly asynchronous conditions, especially in the KIO framework and KMail's IMAP handling, the authors will present the mechanims available in Qt for dealing with such systems. They will also suggest how to manage the increased complexity without sacrificing robustness, share the pitfalls and difficulties they've encountered and evaluate the applicability of multithreading.

David Faure & Till Adam

Suggestions and inquiries direct please to KDE aKademy Team.