当前位置:编程学习 > C#/ASP.NET >>

C#中多线程并发处理同一个静态类。请给下思维

请教大家一些思维上的问题,比如我有一个图片,我需要对它进行各种有规律的处理,可能根据我的配置文件会把他裁剪成好多个图片,我写程序的时候使用了一个静态类来实现这么一个大的逻辑功能,测试也是可以的,但是效率特别慢,我想问下大家在调用静态类的方法怎么使用多线程技术进行并发处理呢???

假如有9个待处理的图片,使用3个线程分别处理3张图??有什么好的指导原则来说明并发需要用多少个线程???


我现在不知道如何静态类的并发,没什么这方面的经验=。=,请有经验的朋友分享下多线程与静态类的处理方式。。


感谢给予赐教经验~ c# 多线程 并发 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 图片间没有逻辑关系直接交给线程池就行了 --------------------编程问答--------------------
引用 2 楼 linrachel 的回复:
图片间没有逻辑关系直接交给线程池就行了


赞同

n个线程一起搞就得了 --------------------编程问答-------------------- 不太清楚你所谓的处理是什么。

如果你每一个CPU核心的占用率都很高,甚至只有一个核心,那么就算你开100个线程也不会快。

由于需要线程切换和管理,反而慢。当然使用系统线程池,这种可以忽略不计。

我的电脑是2核心4线程的,我的一个用户的服务器是20核心40线程的,这并不能想当然地去假设程序一定跑在几核心的系统上。

但是我根本不知道你是如何处理所谓图片的。如果你的算法并不会让CPU有空闲,那么甚至根本不需要多线程编程。 --------------------编程问答-------------------- 另外比如说假设我们把存储磁盘改为固态硬盘,你也许就会发现程序运行速度快了5倍。这就是你具体分析和测试你自己的程序细节,才能得到的。

总之要具体分析你自己的程序。多线程编程就是那么一点简单的东西,其实没有什么可分析的。要分析就要看你自己的程序具体分析。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,