Java Swing Layout Manager Event Handling Inner Classes Swing Applet Exceptions Threads![]() Multitasking & Multithreading![]() What is a Thread![]() Sequential Flow of Control![]() Life Cycle of a Thread![]() Subclassing Thread![]() Controlling Thread![]() Implementating Runnable![]() When to Use the Runnable Interface![]() Multithreading Example![]() Pre-emptive Scheduling![]() Synchronization (Consumer/Producer)![]() The Producer![]() The Consumer![]() Testing![]() Mutual Exclusion ![]() Exercise![]() Deadlock Java I/O Network Programming Resources | TestingThe MsgBufTest class /**
* @author jack
*/
public class MsgBufTest {
public static void main(String[] args) {
MessageBuffer buf = new MessageBuffer(21);
BufferReader reader = new BufferReader(buf);
BufferWriter writer = new BufferWriter(buf);
reader.setName("reader");
writer.setName("writer");
reader.start();
writer.start();
}
}MessageBuffer is shared by writers and readers. The put() and get() method are not atomic. |