> 大家到這里大概已經(jīng)明白閉包、lambda表達(dá)式和interface之間的關(guān)系了吧。
我艸這句話是怎么突然蹦出來的,感覺就像汪峰求愛結(jié)果大家都去看亞冠新聞沒人理……
結(jié)論導(dǎo)出的太快了,差評!還好看過SICP,不然真想不清楚。
問個問題,在這段代碼里:
void button2_Clicked(object sender, EventArgs e)
{
Http.DownloadAsync(url1).ContinueWith(ta=>new MethodInvoker(()=>
{
try
{
// 這個時候ta已經(jīng)運(yùn)行完了,所以對ta.Result的取值不會造成GUI線程等待IO。
// 而且如果DownloadAsync內(nèi)部出了錯,異常會在這里拋出來。
string a=ta.Result;
這里的ContinueWith應(yīng)該是在別的線程里去執(zhí)行,所以即使ta沒有運(yùn)行完,ta.Result也不回造成UI線程hang。(當(dāng)然ta肯定運(yùn)行完了)
是這樣吧?
re: C/C++中Lua棧的清理[未登錄] patz 2011-12-24 18:52
對稱操作使用RAII來清理的確是一個best practice.
re: 用桌面作為播放窗口的簡陋媒體播放器 patz 2008-12-14 21:03
挺有意思的,可以當(dāng)動態(tài)壁紙了。