000 02461nam a2200337 4500
001 OTLid0000083
003 MnU
005 20201105133255.0
006 m o d s
008 180907s2016 mnu o 0 0 eng d
040 _aMnU
_beng
_cMnU
050 4 _aQA76
100 1 _aDowney, Allen B.
_eauthor
245 0 4 _aThe Little Book of Semaphores
_cAllen Downey
264 2 _bOpen Textbook Library
264 1 _bGreen Tea Press
300 _a1 online resource
490 0 _aOpen textbook library.
505 0 _a1 Introduction -- 2 Semaphores -- 3 Basic synchronization patterns -- 4 Classical synchronization problems -- 5 Less classical synchronization problems -- 6 Not-so-classical problems -- 7 Not remotely classical problems -- 8 Synchronization in Python -- 9 Synchronization in C -- A Cleaning up Python threads -- B Cleaning up POSIX threads
520 0 _aThe Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own. The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
542 1 _fAttribution-NonCommercial-ShareAlike
546 _aIn English.
588 0 _aDescription based on online resource
650 0 _aComputer Science
_vTextbooks
710 2 _aOpen Textbook Library
_edistributor
856 4 0 _uhttps://open.umn.edu/opentextbooks/textbooks/83
_zAccess online version
999 _c19521
_d19521