【发布时间】:2011-02-04 21:32:45
【问题描述】:
我有一个程序使用:
ThreadPool.QueueUserWorkItem(new WaitCallback(FireAttackProc), fireResult);
在 Windows7 和 Vista 上运行良好。
当我尝试在 XP 上运行它时,结果与其他的有点不同。
我只是想知道为了正确执行 QueueUserWorkItem 我需要双 CPU 系统吗?
我尝试测试的 XP 安装了 .Net 3.5。
欢迎提出意见。
编辑:回调过程播放一系列声音文件。 win7和vista都玩。但在 xp 中只有几个播放。我没有从程序中得到任何异常。
编辑:是的,XP 盒子是单核的。 5岁以上。
编辑:我的应用程序使用 Winsock,我在 XP 机器上运行客户端和服务器。我将尝试在每台机器上运行一个实例,看看它的反应如何。
编辑:你是如何播放声音的?
SoundPlayer fire = new SoundPlayer(Properties.Resources.fire);
fire.PlaySync();
fire.Dispose();
【问题讨论】:
-
如果您解释“有点不同”的意思以及实际硬件有何不同,可能会有所帮助
-
如果你直接执行方法(非线程),你的 XP 盒子能正确播放声音吗?
-
@Reed:我的盒子是 Vsta 和 Win7。我从别人那里借了 XP。我想我需要借用更长的时间才能对这个问题进行更多测试。
-
@ikurtz:不幸的是,你没有提供足够的信息来直接说“这是问题所在”......我们只能提示。话虽如此,没有功能差异,因为系统是 XP(就线程而言)。 XP中的音频层不如vista+,所以可能实际上是声音处理,和线程完全无关……
标签: c# queueuserworkitem