C# 如何在vb.net 4.0中使用多线程

C# 如何在vb.net 4.0中使用多线程,c#,vb.net,multithreading,coded-ui-tests,C#,Vb.net,Multithreading,Coded Ui Tests,我不熟悉线程概念。我希望使用并行执行搜索UITestControl(MS编码的UI)。编码UI解决方案是一种STA。 是否可以通过编程方式将此解决方案设置为MTA Parallel.Invoke(() => result1 =GetControl(addBtn), () => result2=GetControl(reMoveBtn)); 我尝试过任务、线程和代理。 有没有其他方法可以并行执行上述两种方法 例外情况详情: 结果消息:测试方法Sampl

我不熟悉线程概念。我希望使用并行执行搜索UITestControl(MS编码的UI)。编码UI解决方案是一种STA。 是否可以通过编程方式将此解决方案设置为MTA

Parallel.Invoke(() => result1 =GetControl(addBtn),
                () => result2=GetControl(reMoveBtn));
我尝试过任务、线程和代理。 有没有其他方法可以并行执行上述两种方法

例外情况详情:

结果消息:测试方法SampleThreading.CodedUITest1.CodedUITestMethod1引发异常: System.AggregateException:发生一个或多个错误。--> Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException: 编码的UI测试正在COM的单线程单元(STA)模式下运行。 在这种模式下,所有回放调用都应该从TestMethod发生 仅线程和UITestControl不应在TestMethods之间共享。 结果:在 Microsoft.VisualStudio.TestTools.UITest.Playback.ThreadUtility.ThroweExceptionIfCrossThreadAccess(IRPFPlayback 播放,iScreen元素(uiElement)


创建
任务时,您是否尝试使用
Task.Scheduler.Current
?编码的UI都是关于用户界面自动化测试(最终操作UI),因此我认为从非UI线程执行该操作有点淘气是的,米奇,但这不可能吗?代码完全是非法的,不能引用线程池线程中的控件。使用并行类时得到的类型。取得成功的唯一方法是停止编写这样的代码。也许是为了停止等待测试结果。嗨,汉斯,我只是想加快搜索速度。还有别的办法吗?