草庐IT

QUEUE_CAPACITY

全部标签

c# - 奇怪的 Queue<T>.Enqueue(T item) 代码

在使用ILSpy进行反射时,我在Queue.Enqueue(Titem)中找到了这行代码-方法:if(this._size==this._array.Length){intnum=(int)((long)this._array.Length*200L/100L);if(num我只是想知道为什么有人会这样做?我认为这是某种整数溢出检查,但为什么要先乘以200L然后除以100L?这可能是早期编译器的问题吗? 最佳答案 通常先乘以再除以100是百分比计算-也许在原始代码中有一些constXxxPercentage=200或类似的东西。编译

c# - List<> Capacity 返回的项目多于添加的项目

List上有几个属性这似乎与列表中的项目数量有关-Capacity,Count(作为属性和方法存在)。这非常令人困惑,尤其是与Array相比那只有Length.我正在使用List.Capacity但它给出了意想不到的结果:Listfruits=newList();fruits.Add("apple");fruits.Add("orange");fruits.Add("banana");fruits.Add("cherry");fruits.Add("mango");Console.WriteLine("theListhas{0}itemsinit.",fruits.Capacity);

c# - 专用于字节流的FIFO/Queue buffer

是否有任何.NET数据结构/类组合允许将字节数据附加到缓冲区的末尾,但所有查看和读取都是从头开始的,从而在我读取时缩短了缓冲区?MemoryStream类似乎完成了其中的一部分,但我需要为读取和写入维护不同的位置,并且它不会在读取数据后自动丢弃数据。已在对thisquestion的回复中发布了答案这基本上是我正在尝试做的,但我更喜欢我可以在同一进程的不同组件中进行异步I/O的操作,就像普通管道甚至网络流一样(我需要过滤/处理数据优先)。 最佳答案 我将发布一次我为工作项目编写的一些逻辑的精简副本。这个版本的优点是它与缓冲数据的链接列

c# - Queue 上的 IEnumerable 迭代器是否应该使项目出列

我创建了一个实现通用IQueue接口(interface)的自定义通用队列,该接口(interface)使用System.Collections.Generic命名空间中的通用队列作为私有(private)内部队列。示例已清除不相关的代码。publicinterfaceIQueue{voidEnqueue(TQueueItemqueueItem);TQueueItemDequeue();}publicclassCustomQueue:IQueue{privatereadonlyQueuequeue=newQueue();...publicvoidEnqueue(TQueueItemqu

c# - ConcurrentQueue 与 Queue + 锁的性能对比

我必须实现一消费者一生产者标准算法。我可以使用Queue和几个lock语句轻松实现它。或者我可以只使用ConcurrentQueue。什么更好?如果使用Queue+lock那么我可以优化“多次添加/检索”,因为我可以lock一次然后Add很多次。一般情况下哪个更快-ConcurrentQueue或Queue+lock有多大区别?当然ConcurrentQueue是最直接的方式,但我不想在HFT交易应用程序中使用它时失去很多性能。 最佳答案 来自C#inaNutshell:Theconcurrentstack,queue,andbag

php - Laravel Queue - 记住属性(property)状态?

如果作业失败,它将被推回队列。有没有办法在再次处理作业时记住作业类中属性的值?例如:classMailJobextendsJob{public$tries=3;public$status;publicfunction__construct(){$this->status=false;//settofalse}/***Executethejob.*/publicfunctionhandle(){$this->status=true;//Assumejobhasfailed,itwentbacktotheQueue.//statusshouldbetruewhenthisjobstartp

php - 在 Supervisord 和 HHVM 中使用 Laravel Queue 会导致 tmp 文件夹中有很多 .map 文件

我正在使用Larvel4.1。根据此站点(http://www.tienle.com/2014/04-25/setting-nginx-hhvm-php-percona-laravel-projects.html)创建新服务器后,一切都运行得更快。我有40%的速度表现!我仍然遇到的唯一问题是perf-.map文件。由于Laravel的队列每2秒在supervisord中运行一次,因此会创建一个大小为2MB的perf-.map文件。你可以想象一周后会发生什么。有时网站流量很大,文件增长得更快。有一次系统因硬盘驱动器已满而崩溃。我希望以前有人遇到过这个问题。我用谷歌搜索了很多但找不到答案。

php - Queue:push() 在 Laravel 5 中被同步处理

我正在运行Laravel5,我正在尝试让命令排队。我通过运行开始:Queue::push(newMyCommand());为了创建命令,我做了:phpartisanmake:command--queuedMyCommandMyCommand包含一个sleep(20)和file_put_contents('test.txt','Iwork!')我正在运行的命令行:beanstalkd-l127.0.0.1-p11301&phpartisanqueue:listen&并且config/queue.php设置为:'default'=>env('QUEUE_DRIVER','beanstalk

php - 带有 Job Queue 系统的 PHP/Laravel 中的逻辑代码

我正在使用Laravel3制作一个网络抓取工具,并且有一个队列系统resque。问题:抓取逻辑代码应该放在哪里?在worker/job类中?在由工作/作业类静态调用的库类中?在Controller函数中并让worker/job类触发Controller函数?我目前在Controller功能中有它,所以我可以通过转到它的url来测试它。这也允许使用Cron的重复作业,因为resque不允许重复作业。我仍然需要保留这种测试抓取功能的简单方法。尝试:这就是我的想法,您将如何为此目的组织您的代码?worker类(Class)classScraperWorker{publicfunctionpe

java - 为什么 ArrayList 没有实现 Queue?

也许这很愚蠢,但我必须知道答案。我在看它的源代码时抓耳挠腮,没有看到作者在LinkedList中实现Queue的任何原因,但决定不对ArrayList做同样的事情,相反,他们创建了单独的类ArrayDeque。 最佳答案 接口(interface)Queue要求add将项目添加到Queue的末尾,remove从中获取元素队列的开始。(伪代码)Queueq=...q.add("A")q.add("B")q.add("C")//qisnow[A,B,C]Stringa=q.remove()//aisAandqis[B,C]现在;对于Ar