我目前正在C#中开展一个项目.我有一个名为updateProgress()的方法,它有两个int参数(count和totalRows).
如果我通过说updateProgress(count,totalRows)调用该方法,这可以正常工作,但我想在新线程中运行此方法.
我怎么能这样做,我已经在网上看了一下,一切看起来都太复杂了,我想做什么.
感谢您对此的帮助
cdh*_*wie 31
像这样的东西:
new Thread(delegate () {
updateProgress(count, totalRows);
}).Start();
Run Code Online (Sandbox Code Playgroud)
请注意,线程实际上是一个非常复杂的主题,因此如果您无法理解.NET Framework中可用的异步API,我怀疑您是否应该首先开始使用线程.
无论如何,你有几个选择:
通过自己的线程(如cdhowie指出)分离线程,这是相当沮丧的.
如果您在.NET 4上运行,请使用TPL(任务并行库).这是一个很好的介绍.
TaskFactory.StartNew(() => updateProgress(count, totalRows));
如果您运行的是旧版本的.NET,请使用ThreadPool.
ThreadPool.QueueUserWorkItem(s => updateProgress(count, totalRows));
当然还有其他方法,但这是最重要的方式.
最
诚挚的问候,Oliver Hanappi