多线程

c# – Winforms多线程UI操作的随机跨线程操作异常

出于某种原因,这种安全的方法引发了一个典型的例外.Cross-threadoperationnotvalid:Control‘statusLabel’accessedfromathreadotherthanthethreaditwascreatedon.显然,当需要调用时,此代码应通过Invoke调用匿名方法.但每隔一段时间就会发生异常.有人有过类似的问题吗?[UPDATE2]执行JohnSaun

c# – .NET在开发多线程应用程序和并行编程之间有什么区别?

我是否在.NET多线程应用程序中控制核心之间的多核/并行使用/分配?什么启用了.NET4.0+TaskParallelLibrary在以前版本的.NET中无法做到?解决方法我认为“多线程”就像术语所说的那样:使用多线程.“并行处理”将是:在多个线程之间拆分一组工作,以便可以并行处理工作.因此,并行处理是多线程的一种特殊情况.Doesthismeanthatmulti-core-dandparallelprogrammingapplicationsimpossibleusingpriorversionsof

c# – 多线程应用程序使用16线程获得最佳,尽管计算机有32个核心

我有AMDOpteron(tm)6282SE2.6GHZ32核(2个处理器,每个16核)我有C#数学应用程序,我可以在并行核心上运行.我得到的应用主要部分的最佳性能是当我使用16个线程(即将工作分成16个线程)时,该部分的最佳运行时间为1MS.如果我使用超过16个线程,我获得超过1MS.我的问题是为什么我不能将这部分与更多线程并行,假设我有32个核心.这是并行运行的代码.解决方法首先,我认为你应该

c# – .net的多线程网络UDP服务器库

在.net土地上有类似twisted或eventmachine的东西吗?所有这些都取决于线程在收到消息后尝试做多少工作?我在抽象中寻找的是从问题中消除线程和同步的复杂性.解决方法我觉得你太复杂了.只打开1个UDP套接字,并在其上设置异步回调.对于每个传入的数据包,将其放入队列,然后再次设置回调.而已.确保在排队和出队时设置了对队列的锁定.它就这么简单,性能也会很棒.[R

c# – 多线程,lambdas和局部变量

我的问题是,在下面的代码中,我可以确定实例方法将访问我认为它们将要的变量,还是可以在我还在工作时由另一个线程更改?封闭是否与此有关,即我将处理IEnumerable的本地副本了.所以枚举是安全的吗?为了解释我的问题,如果我从不写共享变量,是否需要任何锁定?

delphi – 如何快速清零文件内容?

我想终止用户从我的程序中选择的文件.我写了这个示例代码:如您所见,我用0值覆盖给定文件.此代码可以正常工作,但在大文件中速度非常低.我想在多线程代码中执行此过程,但我尝试了一些测试代码而无法执行此操作.例如,我创建了4个执行此操作的线程来加速此过程.有没有办法加快这个过程?

Delphi TList在多线程中

在多线程应用程序中使用TList是否安全,所有其他线程都可以访问它,但只有一个线程写入它.情景是每个线程的唯一TList,只有该线程才会写入,而其他线程只访问它以从中获取数据.安全吗?解决方法没有同步就不安全.在写入线程修改列表的同时,读取线程可以处于读取的中间.修改列表可能意味着重新分配底层内存.RTL为这种情况提供TThreadList类.每个线程都需要包含对LockList和UnlockList对中列表的所有访问.如果您使用的是支持泛型的Delphi,则有一个通用版本,TThreadList.

VTune值得为Delphi考虑吗?

通过关于分析工具的所有问题,我很惊讶地发现了之前没有听说过的VTunebyIntel.700美元,比AQTime更贵.但在我决定放弃AQTime的大笔资金之前,有没有人使用VTuneforDelphi,如果是这样,你认为它有什么好处可能使它成为比AQTime和theotherprofilingtoolsforDelphithatareoutthere更好的选择吗?解决方法您可以下载30天的vtun

delphi – 需要多线程内存管理器

谢谢解决方法我们的SynScaleMM还是试验性的.编辑:看看更稳定的ScaleMM2和全新的SAPMM.但是我下面的说法还是值得的:你做的分配越少越好你的规模!);>永远不要相信你的本能,而是在真实的数据和流程上使用准确的时间.我试图在我们的开源框架中遵循这些规则,如果你看看我们的代码,你会发现很多真实的示例代码.