在C#中线程化

时间:2010-06-09 07:00:22

标签: c# .net winforms multithreading

只是寻找超简单的东西。我需要将一个方法生成一个新的线程。

  1. 我不关心它何时或如何结束。
  2. 有人可以帮帮我吗?

    谢谢

8 个答案:

答案 0 :(得分:9)

为了在winforms中开始一个新线程,ThreadPool很难被简化:

ThreadPool.QueueUserWorkItem(state => 
{
    // put whatever should be done here
});

答案 1 :(得分:4)

使用Winforms时,您也可以使用'BackgroundWorker'

答案 2 :(得分:3)

Thread thread=new Thread(() => {
  // thread code here
});

thread.Start();

答案 3 :(得分:3)

仅为了完整性...使用.Net 4.0,您拥有Task Parallel Library。简单的例子....

  Task task = Task.Factory.StartNew(() =>
  {
    ...doing stuff in a thread...
  });

答案 4 :(得分:0)

查看有关线程池的this MDSN article。这应该让你要求新线程和其他线程实现的东西。

答案 5 :(得分:0)

只需查看课程System.Threading的MSDN页面,就可以在那里轻松获得示例。

http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx

答案 6 :(得分:0)

使用线程永远不会停止说“你好!”的简短程序。

using System;
using System.Threading;

namespace Treading
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread noiseMaker = new Thread(Noisy);
            noiseMaker.Start();
        }

        public static void Noisy()
        {
            while(true)
                Console.WriteLine("Hello!");
        }
    }
}

答案 7 :(得分:0)

这是最简单的方法:

1:您创建一个包含您要执行的代码的函数:

public static void ThreadProc() {
     // Write what ou want here !
     // And here :-)   

    }

2:只需使用您刚创建的函数创建一个新线程作为参数启动新线程:

public static void Main() {

Thread t = new Thread(new ThreadStart(ThreadProc));