如何在c中进行TPL或prllel编码#
嗨 我有一张有 500,000 行的表,我想处理每一行,任何人都可以提供示例代码,甚至愿意为此支付一些费用.因为我正在学习 C#,所以不能花很多钱,但可以接受任何对话.联系我 [EDIT email removed] 解决方案 任务并行[^]
114 2022-07-19
编程技术问答社区
ADO上的并行性。网络通话
我有一个项目,其中在 SQL Server 2014 上调用存储过程. 我用存储过程的结果填充了一个 DataTable 对象. 这是在基类中完成的调用,填充后它在 DataTable 上运行 Parallel.ForEach().在那个 virtual 过程中(每个实体重写基中的方法以填充它的实体类),数据被设置为 List 中的实体.当 Parallel.ForEach() 完成时,我调用实体也覆盖的虚拟方法这标志着数据加载的结束并且 LIST 设置在缓存中.但是我有时会看到 List 中的一些实体是 NULL.这怎么可能?将所有行设置为正确的值,我缺少什么? 我尝试过的: 我试过 Parallel.ForEach 有和没有选项.其中一个选项设置了 1 条记录的同时负载最大值(实际上是基于行的处理). 当我使用常规 foreach 时,我看不到这种行为. 解决方案 如果您查看 List文档 - 列表类,MSDN[^] 你会在底部找
96 2022-07-19
编程技术问答社区
在windows 10下使用C++访问端口的最佳方法?
请分享有关如何使用 C++(使用 g++ 编译)在功能上访问 Windows 10 中的端口的信息. 请包含测试 I/O 并行端口引脚编程所需的所有 #include 文件和代码. 谢谢 我尝试过的: /*** Following Code Compiles but DOES NOT modify ports ***/ #include #include #include /* Definitions in the build of inpout32.dll are: */ /* short _stdcall Inp32(short PortAddress); */ /* void _stdcall Out32(short PortAddress, short data); */ /* prototype (function typ
80 2022-07-19
编程技术问答社区
在并行构造中使用partitioner对象时��平行的ForEach公司��, 为什么我们必须保持分区块的大小较大,为什么我们必须保持锁的数量较小?
在并行构造“Parallel.ForEach"中使用分区器对象时,为什么我们必须保持分区块的大小很大,为什么我们必须保持锁的数量很小? static double ParallelPartitionerPi(){double sum = 0.0;double step = 1.0/(double)num_steps;object monitor = new object();Parallel.ForEach(Partitioner.Create(0, num_steps), () => 0.0,(范围、州、本地)=>{for (int i = range.Item1; i { lock (monitor) sum += local;});return step * sum;} 解决方案 锁太多对性能的影响
148 2022-07-19
编程技术问答社区
wcf多个并行调用无法正常工作:调用之间的延迟和在少数线程中工作
你好, 我们正在尝试创建一个简单的 WCF 服务示例,其中多个并行调用 WCF 的相同方法.但是我们遇到了一些问题: 1.我们正在计算从WCF服务方法获取结果的时间,我们发现在多个并行调用之间(同时调用WCF)我们在执行方法之间有延迟(看起来它们是同步执行或有一些延迟通话之间) 2. 此外,我们不能并行执行超过 35-40 个线程 - 之后我们得到一个异常 “无法连接到端点 net.tcp://localhost:9002/CalcService.错误代码 TCP 10061" 3. 另外,在我们的代码中,无论哪个值都有参数 stb.MaxConcurrentCalls - 每次我们最多可以进行 10 次调用. 下面是来自客户端和 WCF 服务的部分代码: CalcService.cs: [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = C
84 2022-07-19
编程技术问答社区
串行到并行转换
我有一个像下面这样的处理函数,我想把它转换成parallel_for处理,任何人都可以. static void calc(const double b[120], const double x[163970], double y[163970]){int k, j;memset(&y[0], 0, 163970U * sizeof(double));for (k = 0; k
146 2022-07-19
编程技术问答社区
如何在android中通过XML解析将XML解析为listview?
આદુનો રસ અને તુલસીનો રસ સુંઘવાથી અને નાકમાં ટીપા નાખવાથી આધાશીશી અને માથાનો દુઃખાવો મટે છે. દ્રાક્ષ અને ધાણાને ઠંડાપાણીમાં પલાળી પીવાથી આધાશીશી મટે છે. ત્રણ દિવસનો વાસી પોશાખ ખરજવા ઉપર દિવસમાં સવાર-સાંજ ચોપડવાથી ખરજવું ચોક્કસ મટે છે. (ત્રણ ખાટલી રાખી રોજ એક ખાટલીમાં પોશાખ બરતા રહેવું) ગાજરને વાટી તેમાં થોડું મીઠું નાખી ગરમ કરી ખરજવા ઉપર બાંધવાથ
90 2022-07-19
编程技术问答社区
有没有办法在循环处理器的同时并行运行具有多个功能的程序?
我想写一个如下格式的代码: main() { } a(){} b(){} c(){} d(){} . . . . k(){} 我希望并行运行代码,以便前 5 个函数自己拥有一个处理器(假设系统上有 12 个内核可用) 在第 1 个 5 中的任何一个完成执行后,第 6 个函数被分配给那个函数,依此类推. 这些功能相互独立,并按顺序运行.我希望通过使它们并行运行来减少执行时间.这样的程序怎么写? 请帮忙. 谢谢 :) 解决方案 最好的办法是使用任务并行库 (TPL).TPL 将自动扩展以包含运行它的机器上的所有内核.所以你可以做这样的事情 void q1(){ }void q2(){ }void q3(){} void Run(){Action[] actions = new Action[] { q1, q2, q3 };Parallel.Invoke(动作);} 如果您需要执行诸如取消线程、按顺序运行某些操作或从函数返回值等操作,那么您可以使用这样的任务类
126 2022-07-19
编程技术问答社区
我在';网格计算中的容错#39;
我最后一年的项目是在网格中开发容错能力,我计划通过检查点/记录流程和在发生故障时复制作业来实现这一目标.我的项目指南建议我使用 Java 程序创建一个网格,但我完全不知道如何创建一个.我知道一点 TCP/IP 套接字编程,但我在并行处理方面的知识/经验为零.您能否建议我如何进一步进行以及我的项目的先决条件是什么.此外,每当我搜索“Java 中的网格"时,我都会得到仅与 GUI 网格相关的结果.如果我能获得一些包含有关创建网格的 Java 教程的链接,我将非常感激.请帮帮我! 在此先感谢 解决方案 这确实引出了一个问题:“当您对要研究的主题知之甚少时,为什么还要尝试构建一个项目"? 我不知道您尝试在 Google 中搜索什么,但我的搜索结果为 这些论文[^],看起来和你的主题有关. 针对您的上述回复,我将发表以下评论: shriram.goal 写道:此外,如果我拥有关于我所从事的主题的所有知识,我为什么要在论坛上发布我的问题?准备工作了吗? 如果你拥有所有知
122 2022-07-19
编程技术问答社区
很难尝试平行
首先我为我的英语道歉 我正在尝试优化/加速我制作的一些代码 使用 kinect 提供的深度帧信息制作纹理 我一直在看 System.Threading 和其他东西,但无法使这种平行,任何帮助将不胜感激 这是我要加速的代码: protected void CopyDepthToTexture(短[] 数据,TextureBuffer 纹理){CustomPixels.ARGB[,] depthBuffer = new CustomPixels.ARGB[texture.Height, texture.Width];float lessSignificant = 0;float middleSignificant = 0;float moreSignificant = 0;int d;动作索引缓冲区;for (int y = 0; y depthBuffer.GetLength(0); y++)for (int x = 0; x depthBuff
106 2022-07-19
编程技术问答社区
并行编程的可能应用
你好, 我正在寻找可以开发的应用程序来增加我对并行编程的了解.我用枢轴排序做了一个,但我想知道像素性测试这样的东西是否值得做,或者是否有人有任何其他想法.我不是在寻找编码解决方案,只是在寻找想法.我对 PLINQ 不是很感兴趣. 欢迎提出任何建议. 解决方案 任何需要执行多个计算量大且独立的任务的问题都适合并行处理.Mandelbrot 发电机或类似的发电机可能是一个很好的智力练习.在现实世界中,通常是在您尝试使用蒙特卡罗类型的分析来模拟具有不同参数的事物时:每次模拟运行都是独立的,并且可以并行运行.
94 2022-07-19
编程技术问答社区
MPI\U分散:缓冲区指针无效
谁能告诉我我做错了什么,因为我得到了这个错误.我得到的错误是致命错误:MPI_Scatter 中的致命错误:无效的缓冲区指针,错误堆栈:MPI_Scatter(760):MPI_Scatter(sbuf=0x0085f7ac , scount , MPI_INT , rbuf =0x0000000 , rcount =1, MPI_INT , root= 0 , MPI_COMM_WORLD) 失败 #includestdio.h>#includempi.h>void 转置(int ** p, int 行,int col){int ** tempVar;tempVar = (int *)malloc(sizeof(int *)* 行);int i = 0;for (; i
124 2022-07-19
编程技术问答社区
您的PHP安装似乎缺少wordpress所需的mysql扩展。
I did update the php version from 5.3.3 - Fast CGI Application(provided by the vendor to the latest version 7.0.4, but the word press sites got screwed up. I m getting the error Your PHP installation appears to be missing the MySQL extension which is required by WordPress. I did check up with the php.ini file , altered and enabled the lines 'extension=php_mysqli.dll' but none worked. Am using the plesk version 12.0.5 Any suggestions? 我尝试过的:
296 2022-07-19
编程技术问答社区
平行的For循环答案不同于serial For Next
我有一个程序可以处理从输入文件中获取的字符串,然后将它们写入输出文件.文件很大,所以需要很长时间才能运行,而且它是计算密集型的,而不是 IO 密集型的.该过程的核心是一个 For-Next 循环,该循环已经成熟,可以重写为 Parallel.For,以便利用空闲的处理器能力. 我从来没有写过并行程序,所以我阅读了我能找到的东西并进行了实验,并取得了成功.我编写了一个程序版本,它可以作为串行 For-Next 或 Parallel.For(使用 Lambda 表达式)运行,只需更改几处注释即可从一个切换到另一个. 作为连续剧,它运行完美.作为并行,它错过了一些输出并且不一致(这意味着输出文件大小不正确,并且对于相同的输入,每次运行都不同).这听起来像是我天真的大脑的线程安全问题,尽管我可能哼错了曲调. 唯一写入的共享数据是字符串的输出数组.每个循环只写入其中的一个位置,由 For 中的计数器定义,所以我认为这将是线程安全的.我认为所有其他写入的变量都在 Lambda 内部
76 2022-07-19
编程技术问答社区
C中的并行代码单元测试-是否有框架/工具/nunit扩展
我必须在执行并行操作时测试组件的行为.我还没有找到帮助我这样做的库/工具箱/单元测试扩展. 我想在并行代码片段中产生精确的执行序列,所以我可以手动处理事件.但这非常耗时且烦人. 解决方案 你试试这个吗? PNUnit[^] 事实证明,不存在符合我需求的解决方案,我利用一年中剩余的日子编写并发测试助手.这是来自单元测试,它显示了三个使用测试助手类执行、同步和分析的并行代码块: [测试]public void SetWaitMultipleEventsTest(){CTestHelper.运行(c =>{Thread.Sleep(1000);CTestHelper.AddSequenceStep("s1", "Provide1");CTestHelper.SetEvent("e1");},c =>{Thread.Sleep(1000);CTestHelper.AddSequenceStep("s2", "Provide2");CTestHelper.SetEvent(
140 2022-07-19
编程技术问答社区
如何取消数据相互依存的并行任务
大家好, 我有一个关于取消任务的问题.请阅读下面的解释.任何建议都会帮助我解决问题. 我有 3 个任务.让我们称它们为 task1、task2 和 &任务3.除了数据之外,它们中的每一个都是独立的.即 task1 将数据放入 queue1 并且 task2 读取它.task2 将一些其他处理过的数据放入 queue2,task3 读取它.task3 做了一些最后的工作.这个链应该一直持续到 task1 成功完成.在 task1 完成并处理完各自的队列后 task2 和 task3 应该会成功完成.如果由于任何原因任务在中间停止(例如由于任务运行的方法中的异常),那么其他两个任务也应该立即停止. 为了成功完成,我使用了一个整数变量.当 task1 完成时,我会增加它.其他2个任务清空自己的队列后读取并顺利退出. 对于错误退出,我可以使用相同的整数变量.但我正在寻找一个更好的解决方案,让代码看起来更干净. 见以下代码: 我通过在 Method2 中抛出异常
168 2022-07-19
编程技术问答社区
如何加快多线程套接字程序在SQL server中保存接收到的数据
我编写了一个多线程套接字程序,它监听 10 个端口并接收数据,然后将数据保存到我的数据库中.虽然我使用任务,但我的程序执行速度很慢.这个程序在使用数据库的地方很慢. 如何通过并行类和任务加速我的程序? 我尝试过的: 我已尝试加快我在数据库中保存数据的任务 解决方案 关系数据库不是为快速摄取数据而设计的,请尝试查看非关系数据存储,如 Key/价值、文件等 RaptorDB - 文档存储[^] 我没有获得更多信息认为使用并行编程或任务不是工作的最佳工具.阅读本文 收听多个端口.[^] 我使用任务和并行编程但我不知道如何保存(插入) 数据通过任务和并行进入我的数据库
102 2022-07-19
编程技术问答社区
MFC ctypeptrlist和parallel_各一个
列表是这样的 #typedef CTypedPtrListCOblist; class{ COblist m_oblist; CBobject m_object // have picture object and Drawing() function } 我想使用 parallel_for_each 来绘制 m_object 的图像. ramda函数如何使用parallel_for_each? Mfc Container库(不是stl库)可以在parallel_for_each和ramda中使用吗? 以下代码不起作用.我该如何解决? 感谢您的宝贵时间. 我尝试过的: parallel_for_each(m_oblist.GetHead(), m_oblist.GetTail(), [&](){ m_object->Drawing(fileheader.status/*struct*/, hFile/*FILE
116 2022-07-19
编程技术问答社区
矩阵乘法中的转置矩阵
我从 Stack Overflow 中找到了我需要的东西,现在我有一个问题,这个功能有什么好处 static void transpose_matrix() { int i, j; for(i = 0; i= SIZE/2) a[i][j] = 2.0; b_to_trans[i][j] = 1.0; //this array in specific if(j >= SIZE/2) b[i][j] = 2.0; 我尝试过的: 我从这个链接中找到了我需要的东西c - MPI 中的矩阵乘法 - 堆栈内存溢出 [
120 2022-07-19
编程技术问答社区
C中使用并行Linq的值Misssig#
大家好, 我尝试使用 Parallel Linq 向对象添加数据.但是多次单击该按钮时会丢失某些值.代码是 BindingListaddnew = new BindingList();System.Threading.Tasks.Parallel.For(0, 1000, i =>添加新的.添加(新 对象()));MessageBox.Show(addnew.Count.ToString()); 如果有人知道,请给出解决方案. 解决方案 如果您查看 MSDN 页面的 BindingList[^] 你会在底部看到以下内容: “这种类型的任何公共静态(在 Visual Basic 中为 Shared)成员都是线程安全的.不保证任何实例成员都是线程安全的." 这意味着线程相互干扰!您需要使用某种形式的 lock: BindingListaddnew = new BindingList();System.Threading.Tasks.
102 2022-07-19
编程技术问答社区