写了一个最简单的生产者消费者示例。一个线程向List中加入字符串,比如s0、s1、s2 … ,另外一个线程读取列表中第一个字符串,然后删除,相当于消费了。 虽然简单,但是基本上可以演示线程同步的主要功能,即对管程(monitor)的操作。学过操作系统都应该知道信号量和原语,用于对互斥的线程资源的调用。管程提供更高级的功能,编写起来更容易。 java使用了管程的概念,每个Object对象,都有一个内置的管程(monitor),因此可以通过wait/notify/synchronized机制产生对资源的互斥使用。因为java是单根的,因此可以说所有类对象都包含管程。 示例代码见: http://easymorse.googlecode.com/svn/tags/thread.demo-1.0/ 日志引用java实现多个消费者的生产者消费者示例 发送文章为PDF