Multithreaded .NET Web service clients: threads and responsiveness

VB.NET Tutorial: Unresponsive programs are extremely frustrating to use. Applications that sometimes freeze for a moment are a source of much irritation, especially if they don't provide any feedback on what they are doing, or how long it is likely to be before they start responding again.

by Ian Griffiths and Chris Sells, consultants. Intel Corp.

Unresponsive programs are extremely frustrating to use. Applications that sometimes freeze for a moment are a source of much irritation, especially if they don't provide any feedback on what they are doing, or how long it is likely to be before they start responding again. This behaviour can be particularly common among applications that use remote facilities such as Web services. This article describes how to maintain responsiveness in .NET Windows Forms rich client applications, even when invoking potentially long-running Web services, by using multiple threads.

Multithreaded programs are notoriously hard to write. The number of ways in which different parts of a program can interact can grow exponentially when we move from sequential, single-threaded operation to concurrent execution. This makes it extremely hard to understand the program's execution, and if we don't understand that, how can we ever be sure that our implementation is correct? So when contemplating writing a multithreaded program, we need compelling answers to two questions: what will the benefits of multithreaded execution be, and how can we manage the complexity?

Subscribers who liked this article also read:
J2EE environment tuning
from Intel Corp. Java is increasingly popular as a programming lang...

If you're interested in this topic, these articles may be helpful:

Embedding .NET controls in Java
by Heath Stewart, Microsoft MVP, directory of technology, Proplanne...
Discovering Multi-Core: Extending the Benefits of Moore's Law
Learn how multi-core processor architecture and software development m...
Accelerating .NET applications with the Intel VTune Performance Analyzer 6.1
by Alan Zeichick, The Intel VTune Performance Analyzer is more than...
Improve .NET Performance: Detecting and Reducing Thread Imbalance
Potential performance imbalance can occur between processors when thre...
Multi-threading in a Java environment
by Allan McNaughton, president, Technical Insights LLC. Intel Corp. ...

Related Jobs:

Sr. Software Engineer #5118-DGS - MA - Natick - The MathWorks
Sr. Software Engineer - Multicore/Parallel Applications Job...
Content Specialist #144557 - WA - Redmond - Microsoft Corporation
The User Experience (UX) group at Microsoft Game Studios (MGS) is seek...
Programming Writer #132618 - WA - Redmond - Microsoft Corporation
Do you like to program? Do you like to write? Are you excited by Inter...
Tech Yahoo, Software Dev Eng #RX1000023985 - CA - Sunnyvale - Yahoo! Inc.
Tech Yahoo, Software Dev Eng Job No. RX1000023985 Location US -...
Principal Software Engineer #RX1000021845 - TX - Dallas - Yahoo! Inc.
Principal Software Engineer, Dallas Job No. RX1000021845 Locati...
Technical Writer #149616 - WA - Redmond - Microsoft Corporation
Is your dream to write for cutting-edge video games in a world-class g...
Technical Yahoo, Sr #RX1000022098 - CA - Sunnyvale - Yahoo! Inc.
Technical Yahoo, Sr Job No. RX1000022098 Location US - Sunnyval...
.Net Project Lead - TX - Irving - HumCap, Inc.
Can design and technical manage a full cycle development project. Has ...
Software Development Engineer #136643 - WA - Redmond - Microsoft Corporation
Are you passionate about working on business applications built on the...
Technical Yahoo #RX1000023210 - CA - Sunnyvale - Yahoo! Inc.
Technical Yahoo Job No. RX1000023210 Location US - Sunnyvale ...