Threads Programming FAQ
Frequently Asked Questions about threads programming.
This FAQ about threads programming
was compiled and written by Bryan O'Sullivan bos@serpentine.com
with numerous contributions by others.
2. Introduction (comp.programming.threads)- This posting consists of answers to many of the questions ...
2.1. Reader contributions and comments (comp.programming.threads)- Your contributions, comments, and corrections are welcomed; mail ...
2.2. How to read this FAQ (comp.programming.threads)- Some headers in this FAQ are preceded by words in parentheses, such ...
2.3. Acknowledgments and caveats (comp.programming.threads)- Although this FAQ has been the result of a co-operative effort, ...
3. What are threads? (Programming)- A thread is an encapsulation of the flow of control in a program. ...
3.1. Why are threads interesting? (Programming)- A context switch between two threads in a single process ...
3.2. A little history (Programming threads)- If you are interested in reading about the history of threads, see ...
4. What are the main families of threads? (Programming)- There are two main families of threads:...
4.1. POSIX-style threads (Programming)- This family consists of three subgroups:...
4.2. Microsoft-style threads (Programming)- This family consists of two subgroups, both originally developed ...
4.3. Others (Programming threads)- Mach and its derivatives (such as Digital UNIX) provide a ...
5. Some terminology (Programming threads)- The terms here refer to each other in a myriad of ways, so the ...
5.1. (DCE, POSIX, UI) Async safety (Programming threads)- Some library routines can be safely called from within ...
5.2. Asynchronous and blocking system calls (Programming)- Most system calls, whether on Unix or other platforms, block (...
5.3. Context switch (Programming threads)- A context switch is the action of switching a CPU between ...
5.4. Critical section (Programming threads)- A critical section of code is one in which data that may be ...
5.5. Lightweight process (Programming threads)- A lightweight process (also known in some implementations,...
5.6. MT safety (Programming threads)- If some piece of code is described as MT-safe, this indicates that ...
5.7. Protection boundary (Programming threads)- A protection boundary protects one software subsystem on a ...
5.8. Scheduling (Programming threads)- Scheduling involves deciding what thread should execute next on ...
6. What are the different kinds of threads? (Programming)- There are two main kinds of threads implementations:...
6.1. Architectural differences (Programming threads)- User-space threads live without any support from the kernel; ...
6.2. Performance differences (Programming threads)- In terms of context switch time, user-space threads are the fastest,...
6.3. Potential problems with functionality (Programming threads)- Because the kernel does not know about user threads, there is a ...
7. Where can I find books on threads? (Programming)- There are several books available on programming with threads, ...
7.1. POSIX-style threads (Programming - books on threads)- David R. Butenhof, Programming with POSIX Threads. Addison-Wesley,...
7.2. Microsoft-style threads (Programming - books on threads)- Jim Beveridge, Robert Wiener, Multithreading Applications in Win32....
7.3. Books on implementations (Programming threads)- If you are interested in how modern operating systems support ...
7.4. The POSIX threads standard (Programming - books on threads)- To order ISO/IEC standard 9945-1:1996, which is also known ...
8. Where can I obtain training on using threads? (Programming)- Organisation Contact ...
9. (Unix) Are there any freely-available threads packages? (Programming)- * Xavier Leroy has written a POSIX ...
10. (DCE, POSIX, UI) Why does my threaded program not handle signals sensibly? (Programming)- Signals and threads do not mix well. A lot of programmers start out ...
11. (DCE?, POSIX) Why does everyone tell me to avoid asynchronous cancellation? (Programming threads)- Asynchronous cancellation of threads is, in general, evil. The ...
12. Why are reentrant library and system call interfaces good? (Programming threads)- There are two approaches to providing system calls and ...
12.1. (DCE, POSIX, UI) When should I use thread-safe "r" library calls? (Programming)- If your system provides threads, it will probably provide a set ...
13. (POSIX) How can I perform a join on any thread? (Programming)- UI threads allow programmers to join on any thread that happens ...
14. (DCE, UI, POSIX) After I create a certain number of threads, my program crashes (Programming)- By default, threads are created non-detached. You need to perform ...
15. Where can I find POSIX thread benchmarks? (Programming)- I do not know of any benchmarks....
16. Does any DBMS vendor provide a thread-safe interface? (Programming)- Oracle 7.3 and above provide thread-safe database client interfaces,...
17. Why is my threaded program running into performance problems? (Programming)- There are many possible causes for performance problems ...
18. What tools will help me to program with threads? (Programming)- * The TNF Tools are a set of extensible tools that allow users ...
19. What operating systems provide threads? (Programming)- Vendor OS version Threads model POSIX API ...
20. What about other threads-related software?- * Douglas C. Schmidt has written a ...
21. Where can I find other information on threads? (Programming)- * The most comprehensive collection of threads-related ...
21.1. Articles appearing in periodicals (Programming threads)- * An introduction to programming with threads, ...
22. Notice of copyright and permissions (comp.programming.threads)- Answers to Frequently Asked Questions for comp.programming....