Java也可以有协同程序!
2016-08-26 00:00
134 查看
摘要: 本文将向您介绍如何在Java中用Javax创建工作协同程序的快速代码片段。
Java也能够像Lua一样拥有协同程序。你觉得不可能?其实可以用JavaX(一种Java源代码编译的Java方言)中实现!
目前,将一个函数转换为协同程序需要一点(直接的)源代码转换——当然这些转换随后会自动执行。
如果我们进行手动转换,那么我们就可以立即使协同程序开始运行。『运行示例』
用表达式转换为此协同程序:
它主要分为几个等级;你需要将i变量放在合适的位置。
然后,你的代码就可以作为协同程序运行了,这意味着,不需要繁琐的步骤(通过doStep方法)就可以随时运行或者中断,由此为其它协同程序腾出时间。这是一个非常有用的功能,例如在单个处理器上并行化多个计算。
如你所见:在JavaX的帮助下让不可能变成了可能!
本文由慧都控件网译自Dzone,英文原文:Java Can Have Coroutines!
Java也能够像Lua一样拥有协同程序。你觉得不可能?其实可以用JavaX(一种Java源代码编译的Java方言)中实现!
目前,将一个函数转换为协同程序需要一点(直接的)源代码转换——当然这些转换随后会自动执行。
如果我们进行手动转换,那么我们就可以立即使协同程序开始运行。『运行示例』
示例:一个for循环
for (int i = 1; i <= 3; i++) print("Counting to " + i + "!");
用表达式转换为此协同程序:
_for(r { i = 1 }, func { i <= 3 }, r { i++ }, r { print("Counting to " + i + "!"); })
它主要分为几个等级;你需要将i变量放在合适的位置。
然后,你的代码就可以作为协同程序运行了,这意味着,不需要繁琐的步骤(通过doStep方法)就可以随时运行或者中断,由此为其它协同程序腾出时间。这是一个非常有用的功能,例如在单个处理器上并行化多个计算。
如你所见:在JavaX的帮助下让不可能变成了可能!
本文由慧都控件网译自Dzone,英文原文:Java Can Have Coroutines!
相关文章推荐
- java实现的钱币大写转换程序(10万亿以内,可以扩展)
- Linux中设定让Firefox可以运行Java程序,然后老爸就可以在家与“小白”决象棋了!
- java 外部调用c程序(后缀为.exe--是可以运行的程序--不是本地方法的实现)
- java猜数小程序,学完对数字的操作相关类后可以练习下
- 【转】JAVA程序转成可以在没有JRE的电脑上运行的EXE文件
- 用java写的远程监控程序,可以看到别人计算机上正在进行的操作(2)
- [Java 09 多线程] 线程是指一个进程在执行过程中可以产生更小的程序单元
- 配置EditPlus使其可以编译运行java程序
- 配置EditPlus使其可以编译运行java程序
- Ex32.java 题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑:
- Linux中设定让Firefox可以运行Java程序,然后老爸就可以在家与“小白”决象棋了!
- 不设置classpath可以编译简单的java程序没错(java.lang.NoClassDefFoundError错误)
- 如何让你的java程序可以在任何机器上双击运行
- 设计一程序(Copy.java),可以实现文件的复制操作
- 闲的无聊可以运行这个Java程序,添加或减少一个nest loop试一试
- Linux中设定让Firefox可以运行Java程序,然后老爸就可以在家与“小白”决象棋了!
- 可以预览的打印的Java程序
- 可以执行Java程序的GPRS模块—TC65i
- 黑马程序员_java小程序可以关机重启
- [Java 09 多线程] 线程是指一个进程在执行过程中可以产生更小的程序单元