{"title":"Programming with threads [Book Reviews]","authors":"J. Zalewski","doi":"10.1109/M-PDT.1996.532148","DOIUrl":null,"url":null,"abstract":"and Posix, and with a discussion of barriers, events, and spin locks. They also briefly present such problems as deadlocks, race conditions, priority inversion, and reentrancy. The discussion of race conditions, in this part and in a later section, is very interesting, although I spotted one error. A variable doubled in one thread and decremented in another gives two different results, depending on the threads’ order of execution. Contrary to what the authors say, this is not a race condition but an ordinary design error. This is followed by a discussion of Posix calls not available in the Solaris thread library-that is, those related to thread attributes, thread cancellation, and scheduling policies. Next, Lewis and Berg describe several tools for multithreaded programming and offer some programming hints. The chapter on examples that follows is technically the moslinteresting part of the book, because of the level of details covered. Two of the appendixes present a very valuable list of all calls for the Solaris threads library and for Posix. T h e authors discuss each call individually, unlike most books on Unix, which just provide manpage (manual page) descriptions. The authors wrote Threads Primer: A Guide to Multithreaded Propamming as an introductory text to give experienced C/Unix programmers a solid understanding of multithreading fundamentals. The book achieves this goal, but lessexperienced programmers can also benefit from it. However, be warned: the less “technical” you are, the less you will gain.","PeriodicalId":325213,"journal":{"name":"IEEE Parallel & Distributed Technology: Systems & Applications","volume":"352 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-01-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Parallel & Distributed Technology: Systems & Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/M-PDT.1996.532148","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
and Posix, and with a discussion of barriers, events, and spin locks. They also briefly present such problems as deadlocks, race conditions, priority inversion, and reentrancy. The discussion of race conditions, in this part and in a later section, is very interesting, although I spotted one error. A variable doubled in one thread and decremented in another gives two different results, depending on the threads’ order of execution. Contrary to what the authors say, this is not a race condition but an ordinary design error. This is followed by a discussion of Posix calls not available in the Solaris thread library-that is, those related to thread attributes, thread cancellation, and scheduling policies. Next, Lewis and Berg describe several tools for multithreaded programming and offer some programming hints. The chapter on examples that follows is technically the moslinteresting part of the book, because of the level of details covered. Two of the appendixes present a very valuable list of all calls for the Solaris threads library and for Posix. T h e authors discuss each call individually, unlike most books on Unix, which just provide manpage (manual page) descriptions. The authors wrote Threads Primer: A Guide to Multithreaded Propamming as an introductory text to give experienced C/Unix programmers a solid understanding of multithreading fundamentals. The book achieves this goal, but lessexperienced programmers can also benefit from it. However, be warned: the less “technical” you are, the less you will gain.