你的問題不是很清楚,恐怕。你可以輕鬆地開始一個新的線程與一些代碼,用在C#2匿名方法,和在C#3 lambda表達式:
匿名方法:
new Thread(delegate() {
getTenantReciept_UnitTableAdapter1.Fill(
rentalEaseDataSet1.GetTenantReciept_Unit);
}).Start();
new Thread(delegate() {
getTenantReciept_TenantNameTableAdapter1.Fill(
rentalEaseDataSet1.GetTenantReciept_TenantName);
}).Start();
Lambda表達式:
new Thread(() =>
getTenantReciept_UnitTableAdapter1.Fill(
rentalEaseDataSet1.GetTenantReciept_Unit)
).Start();
new Thread(() =>
getTenantReciept_TenantNameTableAdapter1.Fill(
rentalEaseDataSet1.GetTenantReciept_TenantName)
).Start();
你可以使用與Control.Invoke
相同類型的語法,但它稍微複雜一些,因爲可以使用任何委託 - 因此您需要告訴編譯器您正在使用哪種類型,而不是依賴於隱式轉換。這可能比較容易寫:
EventHandler eh = delegate
{
// Code
};
control.Invoke(eh);
或
EventHandler eh = (sender, args) =>
{
// Code
};
control.Invoke(eh);
作爲一個側面說明,是你的名字是那麼長?你能縮短它們以獲得更易讀的代碼嗎?
就在旁邊,但Javascript代碼不會**在新線程上調用函數,它只是安排它在將來運行。 Javascript是單線程的,所以所有的代碼都運行在同一個線程上。 – 2016-02-28 00:44:33