我的活动踪迹

2008 9.8 Mon
 123456
78910111213
14151617181920
21222324252627
282930    
«» 2008 - 9 «»

想看什么文章?

日志文章

2007年06月13日 19:12:16

循环缓冲区的多线程同步

  多线程的同步需要用到关键字synchronized,它的作用是给它所声明的语句块加锁,使得一个线程在进入这一段代码块后,可以执行到语句块的结尾而不受其他线程的干扰.这样就实现了多个线程的同步运行.
  循环缓冲区的多线程同步问题是采用一个数组作为缓冲区,用生产者和销售者的关系来举例,使用单一缓冲区,就是生产者生产出一个产品后,等待消费者取走后才能继续生产,而消费者也要在生产者生产出一个产品后才能取走一个产品.使用循环缓冲区,只要缓冲区中有产品,消费者就可以取,只要有空闲缓冲区,生产者就可以生产,这样生产和消费的过程更灵活,也更符合现实中的例子.
  下面是我写的关于循环缓冲区的多线程同步问题的例子,希望对来访者有帮助.
  由于程序较长,我就用附件了.首先是建立两个线程类:ProductThread.java,ConsumeThread.java.产品类Product.java是个启动类,其中有两个同步方法getId和setId,这可是这个例子的重点部分哦!
  附件如下:




消费者线程
ConsumeThread.java
生产者线程
ProduceThread.java
启动类
Product.java

Tags: 多线程   循环缓冲区  

类别: Java基础 |  评论(1) |  浏览(3511) |  收藏
发表评论