Patz's Algorithm Journey

The way we hack

> 大家到这里大概已经明白闭包、lambda表达式和interface之间的关系了吧。

我艹这句话是怎么突然蹦出来的,感觉就像汪峰求爱结果大家都去看亚冠新闻没人理……

结论导出的太快了,差评!还好看过SICP,不然真想不清楚。
问个问题,在这段代码里:

void button2_Clicked(object sender, EventArgs e)
{
Http.DownloadAsync(url1).ContinueWith(ta=>new MethodInvoker(()=>
{
try
{
// 这个时候ta已经运行完了,所以对ta.Result的取值不会造成GUI线程等待IO。
// 而且如果DownloadAsync内部出了错,异常会在这里抛出来。
string a=ta.Result;

这里的ContinueWith应该是在别的线程里去执行,所以即使ta没有运行完,ta.Result也不回造成UI线程hang。(当然ta肯定运行完了)

是这样吧?
对称操作使用RAII来清理的确是一个best practice.
挺有意思的,可以當動態壁紙了。