167得票15回答
固定大小的队列,在新的入队操作时自动出队旧的值。

我正在使用ConcurrentQueue作为一个共享数据结构,它的目的是保存最近N个传递给它的对象(类似于历史记录)。 假设我们有一个浏览器,我们想要保存最近100个浏览过的URL。我想要一个队列,在容量达到上限(历史记录中有100个地址)时,自动删除(出队)最旧的(第一个)条目,并在插入新...

109得票8回答
我应该使用哪个STL容器来实现先进先出(FIFO)功能?

哪种STL容器最适合我的需求?我基本上有一个10个元素宽的容器,在其中不断使用push_back添加新元素,同时pop_front弹出最旧的元素(大约一百万次)。 我目前正在使用std::deque来完成这项任务,但是我想知道是否使用std::list会更有效率,因为我不需要重新分配空间(或...

108得票17回答
是否有队列实现?

有人能建议一个适用于简单且快速FIF/队列的Go容器吗?Go有三种不同的容器:heap、list和vector。哪一种最适合实现队列?

75得票7回答
Java中的FIFO类

我想通过Java中的一个类来实现FIFO。 是否已经存在这样的类?如果不存在,我该如何实现自己的类呢? 注意: 我在这里找到了一个类:http://www.dcache.org/manuals/cells/docs/api/dmg/util/Fifo.html,但它不包含dmg.util...

68得票1回答
为什么对命名管道的只读打开会阻塞?

我注意到当我使用Python在各种UNIX(Linux,FreeBSD和MacOS X)下处理命名管道(FIFOs)时,出现了一些奇怪的问题。第一个也许最烦人的问题是,尝试只读打开空/空闲的FIFO将会被阻塞(除非我使用较低级别的os.open()调用并带有os.O_NONBLOCK参数)。然...

49得票5回答
Unix上带有多个读取器的命名管道(FIFOs)

我有两个程序,Writer和Reader。 我有一个从Writer到Reader的FIFO,所以当我在Writer的stdin中写入内容时,它会从Reader的stdout打印出来。 我尝试使用两个Reader打开,并且只有其中一个Reader程序的输出出现在stdout中。Unix选择从...

46得票3回答
如何在C# .NET中使用“FIFO”?

在.NET中是否有一个标准的集合实现先进先出(FIFO)栈?

44得票10回答
Linux非阻塞FIFO(按需记录)

我希望能够按需记录程序的输出。例如,将输出记录到终端,但是另一个进程可以随时连接当前的输出。 经典的方法是:myprogram 2>&1 | tee /tmp/mylog 并按需tail /tmp/mylog 然而,即使在未使用时,这将创建一个不断增长的日志文件,直到驱动器空间...

43得票10回答
当我们需要存储“最后n个项目”时,使用列表是否比向量更好?

有很多问题表明应该始终使用向量,但在我看来,对于需要存储“最后n个项目”的情况,列表可能更好。例如,假设我们需要存储最近看到的最后5项:迭代0:3,24,51,62,37, 然后在每次迭代中,索引为0的项被删除,并将新项添加到末尾: 迭代1:24,51,62,37,8 迭代 2:51,62,3...

33得票6回答
在Python中创建一个临时FIFO(命名管道)?

你如何在Python中创建一个临时的FIFO(有名管道)? 这应该可以工作:import tempfile temp_file_name = mktemp() os.mkfifo(temp_file_name) open(temp_file_name, os.O_WRONLY) # ... ...