![]() ![]() Programming Applications for Microsoft Windows (4th) by Jeffrey Richter (Microsoft Programming Series). Modern Operating Systems (3rd) by Andrew Tanenbaum (Pearson Education International). Real-Time Concepts for Embedded Systems by Qing Li with Caroline Yao (CMP Books). (The acquiring of the lock is made by xchg or similar atomic operations).Īs a last comment, I am not sure but I can bet you some big bucks that the above first 3 synchronizing objects (#1, #2 and #3) make use of this simple beast (#4) as part of their implementation. Spin-lock (aka Spinlock)= A lock which uses busy waiting. (It could be implemented as a simple 'boolean flag').īusy waiting= Continuosly testing of a variable until some value appears. Lock= A variable whose value allows or denies the entrance to a 'critical region'. The other non selected threads acquiring this object) are put to sleep.Ĥ) And now, talking about 'spinlocks', first some definitions:Ĭritical Region= A region of memory shared by 2 or more processes. ![]() This object supports thread ownership, thread termination notification, recursion (multiple 'acquire' calls from same thread) and 'priority inversion avoidance'.ģ) Counting Semaphore (aka Semaphore)= Kernel object used for allowing the execution of a group of active threads from many others. The other non selected threads acquiring this object) are put to sleep. Ģ) Mutex Semaphore (aka Mutex)= Kernel object used for allowing the execution of just one active thread from many others, among different processes. ![]() This is from a previous post ( ) which fits superb here:ġ) Critical Section= User object used for allowing the execution of just one active thread from many others within one process. There are a lot of misconceptions regarding these words. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |