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....