草庐IT

worker-pool

全部标签

python - 在 python 中使用 map.pool 有什么问题?

我有一个正在运行的命令行程序,我通过管道输入文本作为参数:somecommand.exe它会运行一段时间(通常是一小部分到几个小时),然后将结果写入许多文本文件。我正在尝试编写一个脚本来同时启动其中的几个,使用多核机器上的所有内核。在其他操作系统上,我会fork,但在Windows的许多脚本语言中都没有实现。Python的多处理看起来可以解决问题,所以我想我会试一试,尽管我根本不懂python。我希望有人能告诉我我做错了什么。我写了一个脚本(如下),我指向一个目录,如果找到可执行文件和输入文件,并使用pool.map和n的池启动它们,以及使用调用的函数。我看到的是,最初(启动了第一组n

Windows 内核 - 是否有类似 ExGetPoolsForTag(pool_tag) 的东西?

这是关于Windows内核驱动程序和内存管理的。我真的很好奇是否有一个函数(或者任何不方便的方法)来获取(或迭代)特定池标签的所有内存分配?这些是使用ExAllocatePoolWithTag(type,size,tag)...有使用特定池标签的内核函数,现在我需要找到使用该标签进行的所有分配?我比较确定这是不可能的(出于安全原因),但仍需要对此进行确认。干杯,将更新:(关于下面的WinDbg评论)kd>!poolfindObFlScanninglargepoolallocationtableforTag:ObFl(fffffa8002290000:fffffa8002350000)S

windows - 为什么 python 中的 pool.map 不起作用

importmultiprocessingasmuldeff(x):returnx**2pool=mul.Pool(5)rel=pool.map(f,[1,2,3,4,5,6,7,8,9,10])print(rel)当我运行上面的程序时,应用程序卡在一个循环中,无法停止。我在Windows中使用python3.5,有什么问题吗?这是我在屏幕上看到的:我是财务数据分析的新手;我正试图找到一种方法来通过并行计算解决大数据问题。 最佳答案 它不起作用,因为您是在shell中键入命令;尝试将代码保存在文件中并直接运行。不要忘记正确复制代码,

函数内的Python多处理: calling pool.映射

我正在尝试使用mutltiprocessing包在一个函数中使用多个CPU。当我在函数外部运行玩具示例时,它会在四分之一秒内运行,没有任何问题(见下文)。frommultiprocessingimportPoolimporttimestart=time.clock()deff(x):returnx*xif__name__=='__main__':withPool(processes=7)aspool:result=pool.map(f,range(1000))print(time.clock()-start)但是,当我将相同的代码改编成一个函数时(见下文),它会打印True以指示__n

windows - 在 Windows Azure worker 角色和 Web 角色中使用 SignalR

您能否创建一个Hub,您可以从辅助角色和Web角色向客户端发送消息,或者拥有多个可以向客户端发送消息的不同辅助角色?或者是使用SignalR将消息发送到客户端的推荐方法,以拥有一个处理所有消息传递给客户端的Web角色,并且您将使用队列将消息从所有其他角色发送到客户端。我看到的另一个选项是,我将为所有每个worker角色和Web角色设置一个集线器,然后您连接到几个不同的集线器?这对我来说似乎是一种糟糕的做法。我们托管服务的最终目标是至少有2个Web角色和3-5个worker角色,系统是非常事件驱动的,希望在事件发生时向Web客户端推送消息,而不是在中添加另一个阶段用于向连接的客户端发送消

c# - 将 worker 与 UI 线程同步

在现有项目上工作,我必须使用WinForms(有一段时间没有使用它)并且在与UI线程同步时遇到问题。我必须集成的设计如下:BackgroundWorker获取一个Action作为参数并异步执行它。我正在处理的Action有两个部分;一个核心类(包含业务逻辑)和一个GUI部分,如果它必须请求用户交互,则由核心通过事件通知。我已将句柄创建添加到窗体的构造函数中if(!IsHandleCreated){//besuretocreatethehandleintheconstructor//toallowsynchronizationwiththGUIthread//whenusingShow(

c# - 在 MVVM 中使用后台 worker 更新 ObservableCollection

好的,我最近实现了一个后台工作程序来执行数据的保存和加载。然而,事实证明,要让它在保存命令上运行很困难。基本上,我的保存命令会生成一个事件,通知CollectionView模型已添加一个项目,并且该项目应该添加到它自己的ObservableCollection中。在这一点上,我得到了一个常见的异常,说我不能在不同的线程上更新ICollection。我已经尝试创建一个调用Dispatcher.Invoke的新列表类型,但这仍然会生成相同的异常。我想知道是否还有其他人对如何最好地解决这个问题有任何建议?所以目前我有一个继承自ObservableCollection的类:publicclas

C#-后台 worker 的 CancelAsync() 不工作?

我想中止该过程但无法这样做,我正在使用后台工作程序和我的处理功能。publicvoidInit(){bw=newBackgroundWorker();bw.WorkerSupportsCancellation=true;bw.DoWork+=newDoWorkEventHandler(bw_DoWork);bw.RunWorkerCompleted+=newRunWorkerCompletedEventHandler(bw_RunWorkerCompleted);}voidbw_DoWork(objectsender,DoWorkEventArgse){if(bw.Cancellati

c# - 后台 worker 调用之间是否保留了线程本地存储?

是否重用了后台工作线程?具体来说,如果我在backgroundworker的DoWork()方法中设置了一个命名数据槽(线程本地存储),该数据槽的值是否会持续存在,有可能在以后的某个时间被其他线程找到?我不会这么想,但我有这个错误...编辑:Thisblogpost建议BackGroundWorker使用ThreadPool,这意味着线程被重用。所以问题就变成了;重复使用的线程是否可能在调用之间持久保存线程本地存储? 最佳答案 线程池在重用线程时,不会清除线程本地存储中的数据,也不会清除标记有ThreadStaticAttribut

c# - IIS 抛出 ThreadAbortException 并回收 worker,IIS 日志记录为 "IIS configuration change"的可能原因是什么?

当后台线程正在运行时,我开始在Appharbor上托管的.NetMVC网络应用程序中看到错误-经过仔分割析-我无法找出原因。首先,我注意到的异常是ThreadAbortException。然而,这实际上只是表示线程正在被杀死。在线程被杀死之前,您可以看到IIS创建了一个新的worker,并在同一台机器上调用了Application_Start。新应用程序启动并运行后,IIS会终止旧应用程序并按预期处理新请求。同时,IIS记录一条消息:ShutDownMessage:IISconfigurationchangeHostingEnvironmentinitiatedshutdownHost