`
cljhyjs
  • 浏览: 21260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

生产消费问题编码

阅读更多
有这样一个应用,需要做以下步骤
1、更新资源空闲状态,(需要定时的更新)
2、开始接受请求者使用资源请求。(在规定的小段时间内接受请求)

希望编码能做到以下效果

...
//执行1方法
...
//接受调用2方法的请求
...
//执行1
...
//接受调用2方法的请求
...
...


呵呵,不知道说清楚没有,问题不是用timer去执行两个方法,而是只有到第2步时,才能让客户端来调用2方法。

已经考虑过用共享一个对象同步的方法,但是可能出现共同对象被第2步的方法请求长时间占用。不能保证1方法的定时执行。需要让1方法的执行优先级别高于2方法。



请大家看看有什么方法实现这段代码!
分享到:
评论
2 楼 dennis_zane 2008-06-17  
楼上说了,用条件队列协调,你描述的不是很清楚,不过看情况就得用条件队列,可以传统的wait,notify,也可以使用更细粒度的jdk5的Condtion
1 楼 cljhyjs 2008-06-17  
自己想了一个办法,大家看行不行

private static boolean block = false; //信号变量

public boolean startSchedule() { //方法1

  while (true) {
    try {
block = true;
Thread.sleep(2000l);
// update program free connection information
programManager.updateFreeConn();
          notifyAll();
block = false;


         // to sleep
Thread.sleep(schuldeInterval);
    } catch (InterruptedException e) {
....
}

//方法2
public Message tryToPlay(String sessionId, String progId) {
if (block) {
    try {
this.wait();
   } catch (InterruptedException e) {
   .....




相关推荐

    生产者—消费者问题课程设计

    生产者-消费者问题是操作系统中经典的进程同步问题,它模拟了一个生产者进程生产产品并将产品放入一个有限容量的缓冲区,而消费者进程从该缓冲区取出并消费产品的情景。在这个课程设计中,你需要使用C语言编写代码来...

    生产消费问题

    在IT领域,生产消费问题是多线程编程中的一个经典模型,用于模拟两个或多个线程之间的协作,其中一个或多个线程(生产者)生成数据,而其他线程(消费者)则消耗这些数据。在这个场景中,MFC(Microsoft Foundation ...

    C#课程设计生产者与消费者

    上面的是设计编码时用的变量,创建了两个主线程,就是生产者线程方法和消费者线程方法,生产者数量和消费者数量就是相应的创建相应的线程数量来模拟生产和消费; 然后就缓冲池,每秒钟就会更新缓冲池里面的值,相应...

    多线程同步方法解决生产者-消费者问题(linux线程实现)

    设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区...

    操作系统 生产者与消费者问题

    操作系统中的生产者与消费者问题是多线程和进程同步的经典案例,它主要涉及到如何在多个生产者和消费者之间安全地共享有限的资源,即有界缓冲区。在这个问题中,生产者负责生成数据并放入缓冲区,而消费者则从缓冲区...

    生产者消费者多线程代码

    在实际编码中,可能会使用`java.util.concurrent`库中的`BlockingQueue`接口来实现生产者消费者模型,如`ArrayBlockingQueue`,它内置了线程安全的队列操作,包括生产(put)和消费(take)。 下面是一个简单的伪...

    生产者消费者程序-Linux

    生产者消费者模型是一种经典的多线程同步问题,广泛应用于计算机科学和操作系统领域。在Linux环境中,这个模型通过信号量机制和缓冲区来实现线程间的通信和资源管理。以下是关于这个主题的详细解释: 1. **生产者...

    生产者消费者问题设计与实现.doc

    操作系统中的“生产者消费者问题”是一个经典的多线程同步问题,它源于现实生活中的生产与消费过程,被广泛应用于计算机系统的设计。在这个问题中,多个生产者线程生产数据,而多个消费者线程消费这些数据,关键在于...

    (完整word版)生产者-消费者问题.pdf

    在实际编码实现中,生产者和消费者进程会遵循以下步骤: - **生产者**: - 对空缓冲区信号量(Empty)进行P操作,检查是否还有空位。 - 如果成功,获得互斥锁(Mutex),将产品放入缓冲区,然后释放互斥锁。 - ...

    基于JAVA线程机制研究生产者-消费者问题.pdf

    总之,基于Java线程机制研究生产者-消费者问题,通过实际编码演示了线程创建和管理、线程同步机制的应用,以及如何使用Java提供的数据结构来解决实际问题。这项研究不仅具有理论意义,更具有指导学生实践的意义,...

    os.rar_pb_pb os_生产者消费者

    在操作系统领域,生产者-消费者问题是一个经典的多线程同步问题,主要涉及到进程间的通信与协作。在这个问题中,"生产者"负责生产数据,而"消费者"则负责消费这些数据。它们共享一个有限大小的缓冲区,因此需要协调...

    position-test.zip_labview test_labview 测试_生产者 labview_编码labview

    在“position-test.zip_labview test_labview 测试_生产者 labview_编码labview”这个压缩包中,我们可以看到一个针对角度编码器的测试程序,它基于生产者-消费者模型进行设计。下面将详细解释这一模型以及与LabVIEW...

    多进程同步方法解决生产者-消费者问题(linux线程实现)

    设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区...

    C语言编程模拟生产者和消费者问题(附代码程序).doc

    ### C语言编程模拟生产者和消费者问题 #### 实验背景及意义 生产者-消费者问题是一种经典的多进程同步问题,广泛应用于操作系统、并发程序设计等领域。该问题主要研究如何协调两个进程(生产者和消费者)的工作...

    生产者和消费者.zip

    **标题解析:** "生产者和消费者"是操作系统课程设计中的经典案例,通常用于讲解并发控制和多线程编程中的同步问题。在这一主题中,"生产者"负责生成数据,而"消费者"则负责处理这些数据。这个概念常常用于阐述并发...

    操作系统课程设计(生产者-消费者,存储管理,虚拟存储器

    2.缓冲区大小为10,缓冲区满则不允许生产者生产数据,缓冲区空则不允许消费者消费数据。 3.生产者消费者各循环操作50次。 四、设计思路和采取的方案 1.利用windows提供的API函数CreateSemaphore()创建信号量对象; ...

    红外编码格式-philips rc6

    值得注意的是,RC-6的曼切斯特编码与RC-5相反,这意味着在从RC-5升级到RC-6的过程中,软件和硬件设计者需特别注意编码规则的变化,避免兼容性问题。 ### 主要定时单位与符号定义 在RC-6协议中,主要的定时单位是1t...

    线程经典问题代码

    这里我们关注的是一个经典的多线程问题——生产者-消费者问题。这个问题是计算机科学中并发编程的一个基础模型,它展示了如何有效地在多个线程之间共享资源。 生产者-消费者问题是这样的:一个或多个“生产者”线程...

Global site tag (gtag.js) - Google Analytics