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 | The ProducerThe BufferWriter class /** * @author jack */ public class BufferWriter extends Thread { private int n = 10; private int repeat = 10; private MessageBuffer buffer; BufferWriter(MessageBuffer b) { buffer = b; buffer.registerWriter(); } public void generate() { for (int i = 0 ; i < n; i++) buffer.put(i); } public void run() { for (int i = 0; i < repeat ; i++ ) generate(); buffer.unregisterWriter(); } } |