Threads and Threading
Printing, downloading and/or generating reports can take time and resources. Main applications and background processes can be made to work simultaneously, some in the fore-front, some in the back-ground, so that user-access and performance is optimized. This is what threading, prioritization are all about.
Single processes can have multiple-threading within it, enabling and allowing it to occur, while other processes and thread run as well. Always looking to improve efficiency and responsiveness, programmers and developers find ways to improve processes, results and outcome. Implementing, managing, multiples and sequencing of events and actions, that follow, forms part of a unit of execution within a process, or a THREAD.
This is a developer staple, for domains, enabling, applications, isolation and even multiple processing, services and threading (putting together in an order, having more than one processing running at the same time, not having to wait for other processes to finish).
Managing these processes, trouble-shooting and drawbacks, threadpool-classes, running processes in the background, while main applications operate in the foreground improves performance and efficiencies. Thread-states, (unstarted, running, stopped, waitsleepjoin, suspendrequested, suspended, abortrequested, aborted) can be/have processes in more than one category, passing data to and from threads, synchronizing access to resources (communication ports, system resources, file handles, single application domain, global, static and instance fields, objects etc.). Thread classes and priorities can be specified, as could call-back methods, monitoring and thread waiting for optimal performance.
Programming can be linear, waiting for processes to complete, in a single line of code for example (single-threaded), quite limited/limiting, non-responsive applications or programs, requested processing. Background and foregrounds threading is possible in the .NET Framework environment and applications. Start, Abort, Pause, resume type processes and threads are convenient and complex at the same time. Creating and controlling threads are essential. Starting and managing, doing multiple threads need to be mastered to optimize development and .NET applications.
Key Exam Points
- Use thread, threading processes (single, multiple, background, fore-ground, prioritization et al), for Web, Windows, VB, MVS, C#
- See the exam study examples for Threading that help you to gain a better understanding of this topic
serialization, deserialization, thread safe
This article is based on the 2nd edition of the Microsoft .Net Framework Application Training Kit with the purpose to help 70-536 Exam takers to succeed. I constantly look for ways to improve the content. Please leave a comment about this article or drop me a message if you would like to see changes for this site.