简单队列

# -*- coding: utf-8 -*-#输入中文要用
class Queue():
    def __init__(qu,size):#类比栈
        qu.queue=[];
        qu.size=size;
        qu.head=0;
        qu.tail=0;
    def Empty(qu):
        if qu.head==qu.tail:
            return True
        else:
            return False
    def Full(qu):
        if qu.tail-qu.head==qu.size:
            return True
        else:
            return False
    def push(qu,content):
        if qu.Full():
            print "Queue is Full!"
        else:
            qu.queue.append(content)
            qu.tail=qu.tail+1
    def out(qu):
        if qu.Empty():
            print "Queue is Empty!"
        else:
            qu.head=qu.head+1
时间: 2024-11-12 12:48:33

简单队列的相关文章

python基于mysql实现的简单队列以及跨进程锁

在我们做多进程应用开发的过程中,难免会遇到多个进程访问同一个资源(临界资源)的状况,必须通过加一个全局性的锁,来实现资源的同步访问(同一时间只能有一个进程访问资源). 举个例子: 假设我们用mysql来实现一个任务队列,实现的过程如下: 1. 在Mysql中创建Job表,用于储存队列任务,如下: create table jobs( id auto_increment not null primary key, message text not null, job_status not null

Rabbit简单队列模式

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 2 <modelV

RabbitMQ六种队列模式-简单队列模式

前言 RabbitMQ六种队列模式-简单队列 [本文]RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 在官网的教程中,描述了如上六类工作队列模式: 简单队列模式:最简单的工作队列,其中一个消息生产者,一个消息消费者,一个队列.也称为点对点模式 工作模式:一个消息生产者,一个交换器,一个消息队列,多个消费者.同样也称为点对点模式 发布/订阅模式:无选择接收消息,一个消息生产者,一个交换器,多个

C语言简单队列

把以前写的东西贴在这里方便回故 以前我们建立一个队列.一开始接口不太友好.后来我们进行了优化. Queue abc; //声明队列结构体 crteate_Queue(abc); //创建队列 abc.push(int num); //压入 int abc = abc.pop();//弹出 大致是这样子的.但是我们发现,这个队列有一个非常明显的缺陷.那就是,只能push进int型的变量,如果我们想要压进去其它类型.甚至是自定义类型.那么,我们就得对这个队列程序进行大刀阔斧似的改变.几乎所有的代码都

基于HTTP协议的轻量级开源简单队列服务:HTTPSQS[转]

HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储. 项目网址:http://code.google.com/p/httpsqs/ 使用文档:http://blog.zyan.cc/httpsqs/ 使用环境:Linux(同时支持32位.64位操作系统,推荐使用64位操作系统) 软件作者:张宴 队列(Queu

RabbitMQ 一二事 - 简单队列使用

消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是性能上和RMQ相比相对差一些 卡夫卡呢,使用场景不同,不多介绍,主要是用于日志收集方面,结合hadoop非常灵活 RabbitMQ官网:http://www.rabbitmq.com/ 安装不多说了,可以下载Windows版本,或者linux版本 下载页面:http://www.rabbitmq.c

RabbitMQ简单应用の简单队列

(1)首先创建一个maven项目: pom.xml,重点是配置RabbitMQ 1 <dependencies> 2 <dependency> 3 <groupId>junit</groupId> 4 <artifactId>junit</artifactId> 5 <version>4.11</version> 6 <!-- 表示开发的时候引入,发布的时候不会加载此包 --> 7 <scop

java多线程实现简单队列

1.创建Queue.java public class Queue { private LinkedList<Object> list = new LinkedList<Object>() ; private final int minSize = 0 ; ; private final int maxSize ; private AtomicInteger count = new AtomicInteger(0) ; public Queue(int size){ this.ma

python基础一 ------简单队列用作历史记录

#需求:测试历史记录,一个猜字游戏,能在重新进入游戏时查看输入历史# 1 #-*-coding:utf-8-*- 2 from random import randint 3 from collections import deque 4 import pickle 5 guess_num = randint(0,100) 6 7 history = deque([],5) 8 9 while(True): 10 num = input("请输入你猜的数字\n") 11 if num

c# 简单队列的实现

我们知道队列  就是在内容内存分配连续的内存空间,实现先进先出的逻辑,FIFO(LILO), 这里用到了.net 4.0 的ConcurrentQueue类,(带线程安全的队列类),也可以用Queue ,多线程中自行同步. 代码可直接复制运行 1 using System; 2 using System.Collections.Concurrent; 3 using System.Collections.Generic; 4 using System.Text; 5 using System.T