string類型的返回值~
2 回答

莫回無
TA貢獻1865條經驗 獲得超7個贊
public class A { public string Test() => null ; public void Main() { //方式1:TAP 異步模式 Task< string > task = Task.Run( new Func< string >(Test)); //做些別的事情...然后獲取結果 task.Wait(); string result1 = task.Result; //方式2:APM 異步模式 Func< string > func = new Func< string >(Test); IAsyncResult asyncResult = func.BeginInvoke( null , null ); //做些別的事情...然后獲取結果 string result2 = func.EndInvoke(asyncResult); //方式3:線程 using (ManualResetEventSlim finishEvent = new ManualResetEventSlim( true )) { string tempResult = null ; var thread = new Thread(() => { tempResult = Test(); finishEvent.Set(); }); thread.Start(); //做些別的事情...然后獲取結果 finishEvent.Wait(); string result3 = tempResult; } } } |

SMILET
TA貢獻1796條經驗 獲得超4個贊
class Params // 線程函數參數類型 { public int inparam = 0; // 表示一個傳入的值 public int outparam = 0; // 表示一個返回的值 }
var pm = new Params { inparam = 1 }; var thread = new Thread(param => { ((Params)param).outparam = 10; Thread.Sleep(2000); }); thread.Start(pm); thread.Join(); MessageBox.Show("傳出參數的值是 " + pm.outparam.ToString());
- 2 回答
- 0 關注
- 328 瀏覽
添加回答
舉報
0/150
提交
取消