本帖最后由 不死猫 于 2020-11-24 15:06 编辑
随着我所钻研lisp技术的不断深入发展,这个多线程技术的核心思路和实现方法就不再隐瞒了.现在只要回复帖子即可看到我是如何研究出来的.
多线程的原理:lisp本身是arx来解释的,每个括号发送过去进行解释,如何让arx在解释的时候,我们再把代码塞到中间去,就是多线程实现的最终原理.(反应器的方法是早期尝试的,并不能很好的实现实时触发.)
后面的东西都是当年写的,当时比较珍贵,没有说清楚.现在就直接告诉大家我的研究过程:
核心代码与最终研究方法:vl.application(如果这个不懂的话就需要多学习一下了,你可以在论坛搜索一下猫老师的其他帖子参考,比如点我) 最终版本的原理:你可以开两个CAD,通过一个CAD调用另一个CAD的函数(就是透过VL对象),很容易就找到多线程的效果了,然后你再想办法把代码从一个CAD来实现即可
下面是早期的内容,作为研讨过程就不删了.
下面内容仅作为研究过程参考.
本文为nonsmall原创,转载我的任意篇文章请注明作者及出处。 *************************************************************************************************** 长期以来,大家都认为Lisp不能实现类似VB那样的计时器控件效果, 在一段代码循环中还可以做其他事情。 我就想 纯Lisp 是否能够实现这样的效果? 经过一段时间的研究,我终于找到一种方法, 可以实现Lisp在循环过程中接受其他输入的方法。 这样就能实现类似游戏的那种自动化效果了。^_^ 我用的是纯Lisp+DCL代码,没有别的语言做控件什么的,也没去调用VB VBS VBA等其他的东西。 计时的部分使用的代码是Lisp自己的那种。O(∩_∩)O~ 此文在实际应用的话,做游戏仅仅是一个小的方面, 如果想法够丰富,应该可以实现一些目前Lisp没有的高级反应器效果: 核心提示: [Post=1] 关键是要明白Lisp的执行原理,怎样让程序能够在循环中接受输入! 一个循环如何受我控制?什么条件下启动?什么条件下跳转?什么条件下重新进入? 代码是自己写的,当然能全程控制,就算程序中写入这样的代码也不怕 (1+ "1") 正常的Lisp能不能做到这样? 为什么我要说这个是“多线程”? 各位要放眼全局,从Lisp原理入手,不要局限于代码本身, 可以参考我对DCL窗体非模态的研究和之前的几篇文章, 这篇作品是在之前作品研究中衍生出来的。 [/Post] 动态输入感知应用! 初始代码如下(非核心) 核心代码与最终研究方法:vl.application(如果这个不懂的话就需要多学习一下了,你可以在论坛搜索一下猫老师的其他帖子参考,比如点我) 最终版本的原理:你可以开两个CAD,通过一个CAD调用另一个CAD的函数(就是透过VL对象),很容易就找到多线程的效果了,然后你再想办法把代码从一个CAD来实现即可
|