摘要: Javascript是一种单线程语言,一旦运行一些耗时的处理,其他一切处理都会被阻塞。所以在Javascript中,异步处理显得尤为重要。由于Javascript只会运行在一个线程中,它的异步模式本质是把一些耗时的处理推迟到未来的某个时间点来运行,也正因如此,在Javascript的代码中往往充满了很多的回调处理。Windows Runtime中提供了Promise接口,利用这个接口可以很方便的实现异步处理和回调。看一段代码:var test = asyncFunc().then( function (result) { console.log("async comp... 阅读全文
posted @ 2012-04-24 16:03 MXi4oyu 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 前文中提到过,Concurrency::task支持异步处理,但是由于它不支持跟其他语言的交互,所以如果希望开发的组件能在其他语言,比如C#,Javascript,VB中使用的话,就需要多语言交互的API,它就是Concurrency::create_async。 我们把Concurrency::task和Concurrency::create_async两种处理方式对照来看。 如果我们的组件本身以及调用方都只可能是C++的话,我们会使用Concurrency::task来实现异步处理。因为它更直接,所以效率也更高。假设也许我们会设计如下这样的异步处理方法:Concurrency... 阅读全文
posted @ 2012-04-24 11:36 MXi4oyu 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一,题目:(谷歌笔试) n支队伍比赛,分别编号为0,1,2……n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名编程实现,给出二维数组w,一维数组order 和 用于输出比.. 阅读全文
posted @ 2012-04-24 09:09 MXi4oyu 阅读(123) 评论(0) 推荐(0) 编辑