Internet Cruiser - Serbia   Cruiser  
  Sponsored links
  Threads - World catalog

Contents  > Computers  > Programming  > Threads

      See also:

        Bibliography on Threads and Multithreading
        Part of the Computer Science Bibliography Collection.
        http://liinwww.ira.uka.de/bibliography/Os/threads.html
        comp.programming.threads FAQ
        Bil Lewis's collection of frequently asked questions.
        http://www.lambdacs.com/cpt/FAQ.html
        comp.programming.threads FAQ
        Frequently asked questions (by Bryan O'Sullivan).
        http://www.serpentine.com/blog/threads-faq/
        Concurrent Programming: Principles and Practice
        This book provides an in-depth overview of underlying principles as well as practical techniques that can be used to design concurrent programs. (Greg Andrews)
        http://www.pearsonhighered.com/educator/academic/product/0,,0805300864,00%2ben-USS_01DBC.html
        Foundations of Multithreaded, Parallel, and Distributed Programming
        This book teaches the fundamental concepts of multithreaded, parallel and distributed computing. Emphasizes how to solve problems, with correctness the primary concern and performance an important, but secondary, concern. (Gregory R. Andrews)
        http://www.pearsonhighered.com/educator/academic/product/0,,0201357526,00%2ben-USS_01DBC.html
        Generic Synchronization Policies in C++
        Most uses of synchronization code in multi-threaded applications fall into a small number of high-level “usage patterns”, or what can be called generic synchronization policies (GSPs). This paper illustrates how the use of such GSPs simplify the writing of thread-safe classes. In addition, this paper presents a C++ class library that implements commonly-used GSPs.
        http://www.ciaranmchale.com/gsp/
        Priority Inheritance Protocols
        Use of synchronization mechanisms like semaphores, monitors, and critical regions can lead to uncontrolled priority inversion. [PDF]
        http://www-md.e-technik.uni-rostock.de/ma/gol/rtsys-bib/90-toc-pcp.pdf
        Protothreads
        Very lightweight stackless threads; give linear code execution for event-driven systems, designed to use little memory; library is pure C, no platform-specific Assembly; usable with or without OS. Open source, BSD-type license.
        http://www.sics.se/~adam/pt/
        RT++
        Higher order threads for C++; tutorial and reference manual.
        http://www.risc.uni-linz.ac.at/software/rt++/
        State Threads Library
        Small application library for writing fast, highly scalable Internet programs on Unix-like platforms. Open source, MPL or GPL.
        http://state-threads.sourceforge.net/
        Survey of Threads
        Comparing Solaris, Linux, and Windows NT threads.
        http://www.northco.net/chenke/project/project2.html
        A Thread Performance Comparison
        Compares Windows NT and Solaris on a symmetric multiprocessor machine.
        http://www.usenix.org/publications/library/proceedings/usenix-nt98/full_papers/zabatta/zabatta_html/zabatta.html

        Multithreaded File I/O
        So far multithreaded file I/O is a under-researched field. Although its simple to measure, there is not much common knowledge about it. The measurements presented here show that multithreading can improve performance of file access directly, as well as indirectly by utilizing available cores to process the data read. (September 28, 2009)
        http://www.ddj.com/cpp/220300055
        Avoiding the Perils of C++0x Data Races
        Find out what dangers race conditions in general and C++0x data races in particular pose to concurrent code, as well as the strategies for avoiding them. (September 10, 2009)
        http://www.devx.com/cplus/Article/42725
        Practical Lock-Free Buffers
        Looks at how lock-free programming avoids system failure by tolerating individual process failures. (August 26, 2009)
        http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=219500200
        Design for Manycore Systems
        This column is about why it's time right now to think about systems with lots of cores. In short: Software is the (only) gating factor; as that gate falls, hardware parallelism is coming more and sooner than many people yet believe. (August 11, 2009)
        http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=219200099
        Multi-threaded Algorithm Implementations
        Explores effective uses of threads by looking at a multi-threaded implementation of the QuickSort algorithm and reports on situations where using threads will not help. (June 18, 2009)
        http://broadcast.oreilly.com/2009/06/may-column-multithreaded-algor.html
        Break Up and Interleave Work to Keep Threads Responsive
        Breaking up is hard to do, but interleaving can be even subtler. (June 15, 2009)
        http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=217801299
        It's Not Always Nice To Share
        It isn't just languages that have poor support for thread local storage, but operating systems too (May 21, 2009)
        http://www.ddj.com/cpp/217600495
        Use Thread Pools Correctly: Keep Tasks Short and Nonblocking
        A thread pool hides a lot of details, but to use it effectively some awareness of some things a pool does under the covers is needed to avoid inadvertently hitting performance and correctness pitfalls. (April 13, 2009)
        http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=216500409
        Use Threads Correctly = Isolation + Asynchronous Messages
        Motivates and illustrate best practices for using threads - techniques that will make concurrent code easier to write correctly and to reason about with confidence. (March 16, 2009)
        http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=215900465
        Sharing Is the Root of All Contention
        Sharing requires waiting and overhead, and is a natural enemy of scalability. This article focuses on one important case, namely mutable (writable) shared objects in memory, which are an inherent bottleneck to scalability on multicore systems. (February 13, 2009)
        http://www.ddj.com/hpc-high-performance-computing/214100002
        Lock Options
        Presents a solution to races and deadlocks based on a well-known deadlock-avoidance protocol and shows how it can be enforced by the compiler. It can be applied to programs in which the number of locks is fixed and known up front. (December 3, 2008)
        http://www.ddj.com/cpp/212201754
        Measuring Parallel Performance: Optimizing a Concurrent Queue
        Shows different ways of how to write a fast, internally synchronized queue, one that callers can use without any explicit external locking or other synchronization, and compares the performance. (December 1, 2008)
        http://www.ddj.com/cpp/212201163
        Fundamental Concepts of Parallel Programming
        Explains fundamental concepts for moving from a linear to a parallel programming model (November 13, 2008)
        http://www.ddj.com/hpc-high-performance-computing/212002418
        Understanding Parallel Performance
        Explains how to accurately analyze the real performance of parallel code and lists some basic considerations and common costs. (October 31, 2008)
        http://www.ddj.com/cpp/211800538
        What's New in Boost Threads?
        The Boost.Thread library, which enables the use of multiple threads of execution with shared data in portable C++ code, has undergone some major changes. (October 24, 2008)
        http://www.ddj.com/cpp/211600441
        Writing Lock-Free Code: A Corrected Queue
        Explores lock-free code by focusing on creating a lock-free queue. (September 29, 2008)
        http://www.ddj.com/cpp/210604448
        Deadlock: The Problem and a Solution
        This article explains what deadlocks are and describes ways of circumventing deadlocks. (September 18, 2008)
        http://www.codeguru.com/cpp/misc/misc/threadsprocesses/article.php/c15545/
        Real-world Concurrency
        Describes some key principles that will help mastering the "black art" of writing multithreaded code. (September, 2008)
        http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=554
        Lock-Free Code: A False Sense of Security
        Writing lock-free code can confound anyone-even expert programmers, as Herb shows in this article. (August 5, 2008)
        http://www.ddj.com/cpp/210600279
        The Many Faces of Deadlock
        Explains that deadlock can happen whenever there is a blocking (or waiting) cycle among concurrent tasks. (July 31, 2008)
        http://www.ddj.com/cpp/209900973
        Maximize Locality, Minimize Contention
        Explains why in the concurrent world, locality is a first-order issue that trumps most other performance considerations. Now locality is no longer just about fitting well into cache and RAM, but to avoid scalability busters by keeping tightly coupled data physically close together and separately used data far, far apart. (May 23, 2008)
        http://www.ddj.com/hpc-high-performance-computing/208200273
        Sutter Speaks: The Future of Concurrency
        What does the future hold for concurrency? What will happen to the tools and techniques around concurrent programming? In part two of our series, concurrency guru Herb Sutter talks about these issues and what developers need to be reading to understand concurrency. (May 8, 2008)
        http://www.devx.com/go-parallel/Article/37839
        Sutter Speaks: A Conversation with the Concurrency Whisperer
        Multi- and many-core chips are entering the mainstream — and one of the first software development authorities to take note was C++ expert Herb Sutter. Thanks to his practical insights, a new generation may grok concurrency sooner than previously thought possible. (March 27, 2008)
        http://www.devx.com/go-parallel/Article/37573
        Application-Level Abstractions for Lock-Free Data Sharing
        Describes lock-free data sharing, otherwise known as "wait-free data sharing" as an alternative to the use of locks. (December 21, 2007)
        http://www.ddj.com/cpp/205200452
        Use Lock Hierarchies to Avoid Deadlock
        Explains how to use lock hierarchies to avoid deadlock by assigning each shared resource a level that corresponds to its architectural layer. (December 11, 2007)
        http://www.ddj.com/cpp/204801163
        Apply Critical Sections Consistently
        Critical sections are the One True Tool for guaranteeing mutual exclusion on shared variables. Like most tools, these must be applied consistently, and with the intended meanings. (October 10, 2007)
        http://www.ddj.com/cpp/202401098
        Concurrency with Erlang
        To avoid problems with shared state working with multiple threads, Vinoski recommends a programming language like Erlang rather than C++ or Java. (September, 2007)
        http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe36ec/index.jsp?&pName=dso_level1&path=dsonline/2007/10&file=w5tow.xml&xsl=article.xsl&
        The Pillars of Concurrency
        This article makes the case that a consistent mental model is needed to talk about concurrency. (July 2, 2007)
        http://www.ddj.com/cpp/200001985
        Multi-threaded Debugging Techniques
        Describes a number of general purpose debugging techniques for multi-threaded applications. (April 23, 2007)
        http://www.ddj.com/cpp/199200938
        It's (Not) All Been Done
        Every decade or so there is a major revolution in the way software is developed. But, unlike the object and web revolutions, the concurrency revolution can be seen coming. (September, 2006)
        http://www.gotw.ca/publications/guest-ed-200609.htm
        Lock-free Interprocess Communication
        Interprocess communication is an essential component of modern software engineering. Often, lock-free IPC is accomplished via special processor commands. This article propose a communication type that requires only atomic writing of processor word from processor cache into main memory and atomic processor word reading from main memory into the processor register or processor cache. (June 15, 2006)
        http://www.ddj.com/cpp/189401457
        The Problem with Threads
        Argues that for concurrent programming to become mainstream, threads must be discarded as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs. (May, 2006)
        http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover.xml&xsl=article.xsl&
        Software and the Concurrency Revolution
        Focuses on the implications of concurrency for software and its consequences for both programming languages and programmers. (Herb Sutter and James Larus) (September, 2005)
        http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=332
        The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
        The biggest sea change in software development since the OO revolution is knocking at the door, and its name is Concurrency. (March, 2005)
        http://www.gotw.ca/publications/concurrency-ddj.htm
        Introduction to Priority Inversion
        Gives an introduction to priority inversion and shows a pair of techniques to avoid them. (March, 2002)
        http://www.embedded.com/story/OEG20020321S0023
        Fundamentals of Multithreading
        Technical article, covering Amdahl's Law, latencies and bandwidth, on-chip multiprocessing, Jackson technology, and simultaneous multithreading. (SystemLogic.net) (June 15, 2001)
        http://www.slcentral.com/articles/01/6/multithreading/
        volatile - Multithreaded Programmer's Best Friend
        Discusses the usage of the volatile keyword in multithreaded C++ programs. (February, 2001)
        http://www.ddj.com/cpp/184403766

      • Usenet comp.programming.threads - news:




      Cruiser | Terms of Service | Privacy Policy | Marketing | Contact

      Copyright © 1999-2009 Krstarica d.o.o. Beograd. All rights reserved.
      Reproduction in whole or in part without permission is prohibited. Krstarica® is a registered trademark of Krstarica d.o.o. Beograd.
      Free thumbnail preview by Thumbshots.org
      Help build the largest human-edited directory on the web.
      Submit a Site - Open Directory Project - Become an Editor