IT 201 Chapter 4 Summarize
IT 201 Chapter 4 Summarize
IT 201 Chapter 4 Summarize
Summary:
A thread is a flow of control within a process. A multithreaded process
contains several flows of control within the same address space. The benefits
of multithreading include increased responsiveness to the user, resource
sharing within the process, economy and scalability factors, such as more
efficient use of multiple processing cores.
User-level threads are threads that are visible to the programmer and are
unknown to the kernel. The operating-system kernel supports and manages
kernel-level threads. In general, user-level threads are faster to create and
manage than are kernel threads, because no intervention from the kernel is
required.
Three different types of models relate user and kernel threads. The many-to-
one model maps many user threads to a single kernel thread. The one-to-one
model maps each user thread to a corresponding kernel thread. The many- to-
many model multiplexes many user threads to a smaller or equal number of
kernel threads.
Most modern Oss provide kernel support for threads. These include Windows,
Mac OS X, Linux and Solaris.
Thread libraries provide the application programmer with an API for creating
and managing threads. Three primary thread libraries are in in common use:
POSIX Pthreads, Windows threads, and Java threads.
In addition to explicitly creating threads using the API provided by a library,
we can use implicit threading, in which the creation and management of
threading is transferred to compilers and run-time libraries. Strategies for
implicit threading include thread pools, OpenMP, and Grand Central
Dispatch. Multithreaded programs introduce many challenges for
programmers, including the semantics of the fork() and exec() system calls,
Other issues include signal handling , thread cancellation, thread-local storage
, and scheduler activates.
Programming Problems:
- Monte Carlo Technique is interesting way of calculating 𝜋 involves
randomization:
𝒏𝒖𝒎𝒃𝒆𝒓 𝒐𝒇 𝒑𝒐𝒊𝒏𝒕𝒔 𝒊𝒏 𝒄𝒊𝒓𝒄𝒍𝒆
𝝅 = 𝟒.[ ]
𝒕𝒐𝒕𝒂𝒍 𝒏𝒖𝒎𝒃𝒆𝒓 𝒐𝒇 𝒑𝒐𝒊𝒏𝒕𝒔