Directories | Web | Images | Groups | News | Shopping | Local

Enter your search keyword(s):

 



(formerly Encyclopedic directory)
Java
Home / Top / Computers / Programming / Threads / Java See also:
Insert Article Related articles

Webmasters: Add your website here:

Readers: Edit | Discuss Listings

Double-Checked Locking: Clever, but Broken
Though many Java books and articles recommend double-checked locking, unfortunately, it is not guaranteed to work in Java.
http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-double_p.html

Thread Synchronization in Java
Producer Consumer, Dining Philosophers, Reader Writer problems. Applet demonstration, design diagram. Source code accessable by e-mail request.
http://www.hta-be.bfh.ch/~fischli/kurse/threads/

Warning! Threading in a Multiprocessor World
Many authors advocate the double-checked locking idiom to access a Singleton object in an intuitively thread-safe way. Unfortunately, for counterintuitive reasons, double-checked locking doesn't work in Java.
http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox_p.html

Ease Your Multithreaded Application Programming
Takes a look at one of the most-used constructs in multithreaded programming: the producer-consumer scenario. Also shows a Consumer class which facilitates code reuse and simplifies debugging and maintenance in some multithreaded applications.
http://www-106.ibm.com/developerworks/java/library/j-prodcon/

Threading Lightly: Reducing Contention
Explains why contended synchronization is a problem and then explores several techniques for reducing contention, and hence improving scalability.
http://www-106.ibm.com/developerworks/java/library/j-threads2.html

Double-checked Locking and the Singleton Pattern
Examines the roots of the double-checked locking idiom, why it was developed, and why it doesn't work.
http://www-106.ibm.com/developerworks/java/library/j-dcl.html

A Proposal for Fixing the Java Programming Language's Threading Problems
Java's threading model is entirely inadequate for programs of realistic complexity and isn't in the least bit object oriented.
http://www-106.ibm.com/developerworks/library/j-king.html

Achieve Strong Performance With Threads, Part 4
Focuses on thread groups, volatility, thread-local variables, timers, and the ThreadDeath class. Also describes how various thread concepts combine to finalize objects.
http://www.javaworld.com/javaworld/jw-08-2002/jw-0802-java101_p.html

Achieve Strong Performance With Threads, Part 3
Explains how priority relates to thread scheduling and how to use the wait/notify mechanism to coordinate the activities of multiple threads.
http://www.javaworld.com/javaworld/jw-07-2002/jw-0703-java101_p.html

Achieve Strong Performance With Threads, Part 2
Explains synchronization, Java's synchronization mechanism, and two problems that arise when developers fail to use that mechanism correctly.
http://www.javaworld.com/javaworld/jw-06-2002/jw-0607-java101_p.html

Achieve Strong Performance With Threads, Part 1
Gives an introduction to threads and explores the Thread class and runnables.
http://www.javaworld.com/javaworld/jw-05-2002/jw-0503-java101_p.html

Threading Lightly: Exploiting ThreadLocal to Enhance Scalability
Examines ThreadLocal and offers tips for exploiting its power.
http://www-106.ibm.com/developerworks/java/library/j-threads3.html

Programming Java Threads in the Real World, Part 9
Discussion of two more architectural solutions to threading problems: a synchronous dispatcher (or 'reactor') and an asynchronous dispatcher (or 'active object').
http://www.javaworld.com/javaworld/jw-06-1999/jw-06-toolbox_p.html

Programming Java Threads in the Real World, Part 8
Discusses architectural solutions to threading problems. Takes a look at threads from the perspective of an object-oriented designer, and at how to implement threads in an object-oriented environment, focusing on the implementation of asynchronous methods.
http://www.javaworld.com/javaworld/jw-05-1999/jw-05-toolbox_p.html

Programming Java Threads in the Real World, Part 7
Reader/writer locks let multiple threads safely access a shared resource in an efficient way.
http://www.javaworld.com/javaworld/jw-04-1999/jw-04-toolbox_p.html

Programming Java Threads in the Real World, Part 6
How to implement the Observer pattern (used by AWT/Swing for its event model) in a multithreaded environment.
http://www.javaworld.com/javaworld/jw-03-1999/jw-03-toolbox_p.html

Programming Java Threads in the Real World, Part 5
Timers let you perform fixed-interval operations, such as animation refreshes.
http://www.javaworld.com/javaworld/jw-02-1999/jw-02-toolbox_p.html

Programming Java Threads in the Real world, Part 4
A condition variable adds to wait the ability to not wait when the condition you're waiting for has already taken place; and a counting semaphore lets you control a pool of resources without sucking up machine cycles in polling loops.
http://www.javaworld.com/javaworld/jw-12-1998/jw-12-toolbox_p.html

Threads 101
Explains from the ground up how to get threads work correctly. (Chuck Allison)
http://www.cuj.com/java/allison/jun2001.htm

Simple Java Thread Management Library (SJT.Mgmt)
An easy to use library for adding thread management in Java applications. The library comes from early experience with JServ's lack of thread management, and recent posts to the java developer forums. [Open source]
http://simplethread.sourceforge.net/

Singletons with Needles and Thread
Presents two approaches to creating thread-safe singletons.
http://www.javaworld.com/javaqa/2002-01/02-qa-0125-singleton4_p.html

Writing Multithreaded Java Applications
Introduces the Java Thread API, outlines issues involved in multithreading, and offers solutions to common problems.
http://www-106.ibm.com/developerworks/library/j-thread.html

Threading Lightly: Synchronization is not the Enemy
Takes a look at the semantics and the performance penalty of Java's synchronized keyword.
http://www-106.ibm.com/developerworks/java/library/j-threads1.html

Hey, where'd my thread go?
If you're not careful, threads can disappear from server applications without a (stack) trace. In this article, threading expert Brian Goetz offers some techniques for both prevention and detection of threads going AWOL.
http://www-106.ibm.com/developerworks/library/j-jtp0924.html

Programming Java Threads in the Real World, Part 3
Looks at how and why you might want to roll your own exclusion semaphores, and presents a lock manager that will help you safely acquire multiple semaphores.
http://www.javaworld.com/javaworld/jw-11-1998/jw-11-toolbox_p.html

Programming Java Threads in the Real World, Part 2
Discusses the perils that can arise when you approach multithreading in a naive way.
http://www.javaworld.com/javaworld/jw-10-1998/jw-10-toolbox_p.html

Programming Java Threads in the Real World, Part 1
Discusses the things you need to know to program threads in the real world. This article assumes you understand the language-level support for threads and focuses on the legion of problems that arise when you try to use these language features.
http://www.javaworld.com/javaworld/jw-09-1998/jw-09-threads_p.html

Can Double-Checked Locking be Fixed?
In this article, Brian Goetz looks at some of the commonly proposed fixes and shows how each of them fails to render the DCL idiom thread-safe under the Java Memory Model.
http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-double_p.html

Multi-threading in Java
Article by Neel V. Kumar. A tour in the land of multithreading in Java. Introduces the mechanisms and demonstrates how to use them in limited but very common cases.
http://www-106.ibm.com/developerworks/library/multithreading.html

Multi-Threading -- The Next Level
By Edward Harned. This article takes the multi-threading structures available today to the next level by making professional quality, Open Source code available to all programmers.
http://java.ittoolbox.com/browse.asp?c=JAVAPeerPublishing&r=%2Fpub%2FEH111402%2Farticle%2Ehtml

Safe construction techniques
Concurrent programming in Java applications is more complicated than it looks: there are several subtle (and not so subtle) ways to create data races and other concurrency hazards in Java programs. In this installment of Java theory and practice, Brian Goetz looks at a common threading hazard: allowing the this reference to escape during construction. This harmless-looking practice can cause unpredictable and undesirable results in your Java programs.
http://www-106.ibm.com/developerworks/library/j-jtp0618.html

Java Technology, Threads, and Scheduling in Linux
Examines the performance of the Linux kernel when the system is running a heavily threaded Java program using the IBM Java Developer Kit for Linux.
http://www-106.ibm.com/developerworks/library/j-java2/

mdthread
Message Driven Thread API for Java, which enables deadlock safe, multithreaded, concurrent, high level communication between threads.
http://mdthread.org/main/

Cancellation
Discussion of thread cancellation techniques in Java. (excerpt from Doug Lea's Concurrent Programming in Java book)
http://g.oswego.edu/dl/cpj/cancel.html

The "Double-Checked Locking is Broken" Declaration
Details on the reasons - some very subtle - why double-checked locking cannot be relied upon to be safe. Signed by a number of experts, including Sun engineers.
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

Thread Synchronization in Java (Sources)
Introduces basic concurrency problems and shows how to solve them by using builtin Java synchronization primitives. (Only sources free accessed without registration)
http://devcentral.iticentral.com/articles/Java/thread_sync/code.html

Implementing Read-Write Locks in Java
Read-write locks allow multiple threads to acquire a read lock provided no other thread currently has a write lock on the same object. A thread can acquire a write lock if no other thread owns either a read lock or a write lock.
http://www.asingh.net/technical/rwlocks.html

Thread Pools and Work Queues
Explores the motivations for thread pools, some basic implementation and tuning techniques, and some common hazards to avoid.
http://www-106.ibm.com/developerworks/library/j-jtp0730.html

Avoid Synchronization Deadlocks
Explains how to apply consistent rules for acquiring multiple locks simultaneously, to reduce the likelihood of synchronization deadlocks.
http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-deadlock_p.html

Can ThreadLocal Solve the Double-checked Locking Problem?
Explains how to fix the double-checked locking idiom by using thread-local variables and takes a look at its performance.
http://www.javaworld.com/javaworld/jw-11-2001/jw-1116-dcl_p.html

Why Thread Pools are Important in Java
Explains the use of thread pools to create better performing applications.
http://www.devx.com/upload/free/features/javapro/2000/10oct00/tm0010/tm0010.asp



Help build the largest human-edited directory on the web.
 Submit a Site - Open Directory Project (modified) - Become an Editor

Modified contents copyright 2008. All rights reserved.