我有一些代碼須要在與GUI不一樣的線程中運行,由於它當前致使表單在代碼運行時凍結(10秒左右)。 spa
假設我之前從未建立過新的線程; 什麼是如何在C#中使用.NET Framework 2.0或更高版本執行此操做的簡單/基本示例? 線程
若是你想獲得一個值: 代理
var someValue; Thread thread = new Thread(delegate() { //Do somthing and set your value someValue = "Hello World"; }); thread.Start(); while (thread.IsAlive) Application.DoEvents();
Joe Albahari是開始閱讀的好地方。 code
若是你想建立本身的線程,這很簡單: get
using System.Threading; new Thread(() => { Thread.CurrentThread.IsBackground = true; /* run your code here */ Console.WriteLine("Hello, world"); }).Start();
這是另外一種選擇: string
Task.Run(()=>{ //Here is a new thread });
嘗試使用BackgroundWorker類。 您能夠爲代理人提供運行的內容,並在工做完成時收到通知。 我連接到的MSDN頁面上有一個示例。 it
快速又髒,但它會起做用: io
在頂部使用: thread
using System.Threading;
簡單代碼: 表單
static void Main( string[] args ) { Thread t = new Thread( NewThread ); t.Start(); } static void NewThread() { //code goes here }
我把它扔進了一個新的控制檯應用程序中