当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 原文:http://www.blogcn.com/User8/f
 

 

    摘要:更新blogger.com的个人资料的时候偶然发现兴趣或者电影都是链接,点击之后blogger.com会去搜索有和自己相同关键字的人,这点挺好的,很好的资源。 url这样的:http://www.blogger.com/profile-find.g?t=i&q=soccer 然后我把soccer改成其他的关键字,就可以方便的搜索,没必要自己写上去的那些爱好了。 ......
 ·项目总结(1)--集中处理上下文     »显示摘要«
    摘要:我们一般在接收传递过来的整数参数的时候,通常可以这样做int questionid = convert.toint32(request["questionid"]) 或者int questionid = convert.toint32(httpcontext.current.request["questionid"])传递字符也大致相识,通常参数都会比较多,......


浅谈 C# 中的代码协同 (Coroutine) 执行支持

原文:http://www.blogcn.com/user8/flier_lu/index.html?id=3409568

    实际上,这一机制的最终目的是提供一个代码协同执行的支持机制. 【程序编程相关:判断表中的数据是否被其他表中使用过!!

    几个月前我曾大致分析过 c# 2.0 中 iterator block 机制的实现原理,«c# 2.0 中iterators的改进与实现原理浅析»,文中简要介绍了 c# 2.0 是如何在不修改 clr 的前提下由编译器,通过有限状态机来实现 iterator block 中 yield 关键字. 【推荐阅读:在 ASP.NET 中执行 URL 重写

【扩展信息:ASP在线压(缩)解(压)rar

以下内容为程序代码:

using system.collections.generic;

public class tokens : ienumerable<string>

{

  public ienumerator<string> getenumerator()

  {

    for(int i = 0; i<elements.length; i++)

      yield elements[i];

  }

  ...

}

foreach (string item in new tokens())

{

  console.writeline(item);

}

    在这段代码执行过程中,foreach 的循环体与 getenumerator 函数体实际上是在同一个线程中交替执行的.这是一种介于线程与顺序执行之间的协同执行模式,之所以称之为协同(coroutine),是因为同时执行的多个代码块之间的调度是由逻辑隐式协同完成的.顺序执行无所谓并行性,而线程往往是由系统调度程序强制性抢先切换,相对来说win3.x 中的独占式多任务倒是与协同模型比较类似.

    就协同执行而言,从功能上可以分为行为.控制两部分,控制又可进一步细分为控制逻辑与控制状态.行为对应着如何处理目标对象,如上述代码中:行为就是将目标对象打印到控制台;控制则是如何遍历这个 elements 数组,可进一步细分为控制逻辑(顺序遍历)与控制状态(当前遍历到哪个元素).下面将按照这个逻辑介绍不同语言中如何实现与模拟这些逻辑.

    spark gray 在其 blog 上有一个系列文章介绍了协同执行的一些概念.
...   下一页
    摘要:输入法要实现: 1、字词编码 2、常用字和罕用字、常用词和罕用词分开 3、打字词上屏后给出拼音提示、编码提示 4、可以加词(包括批量导入),可以智能组词,可以智能加整句(目前功能不完善) 5、打字词上屏后可以联想以其开头的词(词组关联) 6、词语和编码查询 7、中文字词->英文,拼音->中文,英文->中文,数码转中,简繁输出等 8、有大键盘和小键盘两种输入方式。 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE