当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

java单线程实现队列模型

发表于: 2013-04-23   作者:cuishen   来源:转载   浏览:
摘要: 以下是我整理的用java单线程实现队列Queue的代码模型。 package com.cuishen; import java.util.Vector; public class Queue implements Runnable { private Vector queueData = null; private boolean run = true
以下是我整理的用java单线程实现队列Queue的代码模型。

package com.cuishen;

import java.util.Vector;

public class Queue implements Runnable {
    private Vector queueData = null;
    private boolean run = true;

    public Queue() {
        queueData = new Vector();
    }

    public synchronized void putEvent(Object obj) {
        queueData.addElement(obj);
        notify();
    }

    private synchronized Object getEvent() {
        try {
            return (Object) queueData.remove(0);
        } catch (ArrayIndexOutOfBoundsException aEx) {
        }
        try {
            wait();
        } catch (InterruptedException e) {
            if (run) {
                return null;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public void run() {
        while (run) {
            Object obj = getEvent();
            processEvent(obj);
        }
    }

    private void processEvent(Object obj) {
        // process the data in queue
    }

    public synchronized void destroy() {
        run = false;
        queueData = null;
        notify();
    }
}


package com.cuishen;

public class Test {
    public static void main(String[] args) {
        Queue queue = new Queue();
        Thread processThread = new Thread(queue);
        processThread.start();
        
        Object obj = new Object();
        queue.putEvent(obj);
    }
}


java单线程实现队列模型

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号