> 大家到這里大概已經(jīng)明白閉包、lambda表達(dá)式和interface之間的關(guān)系了吧。
我艸這句話是怎么突然蹦出來(lái)的,感覺就像汪峰求愛結(jié)果大家都去看亞冠新聞沒人理……
結(jié)論導(dǎo)出的太快了,差評(píng)!還好看過(guò)SICP,不然真想不清楚。
問(wèn)個(gè)問(wèn)題,在這段代碼里:
void button2_Clicked(object sender, EventArgs e)
{
Http.DownloadAsync(url1).ContinueWith(ta=>new MethodInvoker(()=>
{
try
{
// 這個(gè)時(shí)候ta已經(jīng)運(yùn)行完了,所以對(duì)ta.Result的取值不會(huì)造成GUI線程等待IO。
// 而且如果DownloadAsync內(nèi)部出了錯(cuò),異常會(huì)在這里拋出來(lá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
對(duì)稱操作使用RAII來(lái)清理的確是一個(gè)best practice.
挺有意思的,可以當(dāng)動(dòng)態(tài)壁紙了。