Programming with threads [Book Reviews]

J. Zalewski
{"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.
用线程编程[书评]
和Posix,并讨论了障碍、事件和自旋锁。它们还简要地介绍了诸如死锁、竞争条件、优先级反转和重入等问题。在本部分和后面的部分中对竞态条件的讨论非常有趣,尽管我发现了一个错误。一个变量在一个线程中增加一倍,在另一个线程中减少一倍,根据线程的执行顺序,会得到两种不同的结果。与作者所说的相反,这不是一个竞争条件,而是一个普通的设计错误。接着讨论Solaris线程库中不可用的Posix调用,即与线程属性、线程取消和调度策略相关的调用。接下来,Lewis和Berg描述了多线程编程的几种工具,并提供了一些编程提示。从技术上讲,下面的例子章节是本书最有趣的部分,因为它涵盖了很多细节。其中两个附录提供了一个非常有价值的Solaris线程库和Posix的所有调用列表。作者单独讨论每个调用,不像大多数关于Unix的书籍只提供手册页(manual page)描述。作者编写了《线程入门:多线程编程指南》作为介绍性文本,使有经验的C/Unix程序员对多线程基础有了扎实的理解。本书实现了这一目标,但经验不足的程序员也可以从中受益。然而,请注意:你的“技术”越少,你获得的就越少。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信