這裏是我的測試代碼:C#線程不會設置另一個類的變量值?
class Program
{
static void Main(string[] args)
{
new Thread(delegate() { runThread(); }).Start();
Console.WriteLine(Global.test);
Console.ReadKey();
}
private static void runThread()
{
Console.WriteLine("this is run thread");
Global.test = "this is test from thread";
Console.WriteLine(Global.test);
}
}
public class Global
{
public static string testV { get; set; }
}
我希望能夠設置「testV」值與一個線程。 它看起來像Thread設置的值,但是當從main方法中檢索testV值時,它什麼也不給。 這是爲什麼?
從主線程讀取可能發生在其他線程有機會寫入值 –