nonsmall 发表于 2009-8-7 15:03:00

【原创】颠覆传统!纯Lisp也玩多线程开发!谜底揭晓!!!

本帖最后由 不死猫 于 2020-11-24 15:06 编辑 <br /><br />随着我所钻研lisp技术的不断深入发展,这个多线程技术的核心思路和实现方法就不再隐瞒了.现在只要回复帖子即可看到我是如何研究出来的.
多线程的原理:lisp本身是arx来解释的,每个括号发送过去进行解释,如何让arx在解释的时候,我们再把代码塞到中间去,就是多线程实现的最终原理.(反应器的方法是早期尝试的,并不能很好的实现实时触发.)
后面的东西都是当年写的,当时比较珍贵,没有说清楚.现在就直接告诉大家我的研究过程:

核心代码与最终研究方法:**** Hidden Message *****

下面是早期的内容,作为研讨过程就不删了.
下面内容仅作为研究过程参考.

<p>本文为nonsmall原创,转载我的任意篇文章请注明作者及出处。</p><p></p><p>***************************************************************************************************</p><p></p><p>长期以来,大家都认为Lisp不能实现类似VB那样的计时器控件效果,</p><p>在一段代码循环中还可以做其他事情。</p><p>我就想 纯Lisp 是否能够实现这样的效果?</p><p>经过一段时间的研究,我终于找到一种方法,</p><p>可以实现Lisp在循环过程中接受其他输入的方法。</p><p>这样就能实现类似游戏的那种自动化效果了。^_^</p><p>我用的是纯Lisp+DCL代码,没有别的语言做控件什么的,也没去调用VB VBS VBA等其他的东西。</p><p>计时的部分使用的代码是Lisp自己的那种。O(∩_∩)O~</p><p>此文在实际应用的话,做游戏仅仅是一个小的方面,</p><p>如果想法够丰富,应该可以实现一些目前Lisp没有的高级反应器效果:</p><p>核心提示:</p><p></p><p>关键是要明白Lisp的执行原理,怎样让程序能够在循环中接受输入!</p><p>一个循环如何受我控制?什么条件下启动?什么条件下跳转?什么条件下重新进入?</p><p>代码是自己写的,当然能全程控制,就算程序中写入这样的代码也不怕 (1+ "1")</p><p>正常的Lisp能不能做到这样?</p><p>为什么我要说这个是“多线程”?</p><p>各位要放眼全局,从Lisp原理入手,不要局限于代码本身,</p><p>可以参考我对DCL窗体非模态的研究和之前的几篇文章,</p><p>这篇作品是在之前作品研究中衍生出来的。</p><p></p><p></p><p></p><p>动态输入感知应用!</p><p></p><p>初始代码如下(非核心)</p><p>核心代码与最终研究方法:vl.application(如果这个不懂的话就需要多学习一下了,你可以在论坛搜索一下猫老师的其他帖子参考,比如点我) 最终版本的原理:你可以开两个CAD,通过一个CAD调用另一个CAD的函数(就是透过VL对象),很容易就找到多线程的效果了,然后你再想办法把代码从一个CAD来实现即可</p>

xiaoquansb 发表于 2019-5-15 08:38:06

苦思了一夜,终于弄懂了,关键就在猫老师说的这句
开两个CAD,通过一个CAD调用另一个CAD的函数(就是透过VL对象),很容易就找到多线程的效果了,然后你再想办法把代码从一个CAD来实现即可
真是脑洞大开了

我爱lisp 发表于 2024-8-23 10:37:28

这个lisp多线程我也想各种办法测试了,最后实现了纯lisp的批处理执行,对vlisp是不行的, 对于大量并发计算,直接还是通过接口委托给第三方语音,如c++、rust来执行了

yanshengjiang 发表于 2024-8-23 15:25:01

liminnet 发表于 2009-8-20 10:58
NONS哥,越来越强啦,好想知道怎么搞的,NONS哥现在的水平真高啊,不怪是贱人工具箱给NONS哥破解了是这样容 ...

出来了???

liminnet 发表于 2009-8-7 15:17:00

<p>抢头坐啦,支持NONS哥</p>

sy100 发表于 2009-8-7 15:41:00

排队,向高手学习!

liao1968 发表于 2009-8-7 16:40:00

<p>看不明白,要加强!</p>

jxphklibin 发表于 2009-8-7 17:01:00

<p>生成dcl文件,不用这么麻烦,可以省去循环的</p>

jxphklibin 发表于 2009-8-7 17:17:00

对话框上的时间是如何实现动态变化的呢?

nonsmall 发表于 2009-8-7 23:54:00

jxphklibin发表于2009-8-7 17:01:00static/image/common/back.gif生成dcl文件,不用这么麻烦,可以省去循环的

<p>1 如果程序中需要用户图面选取 循环就很必要。</p><p>2 因为代码都是程序自动生成的,没有人工参与,所以无所谓麻烦。</p>

111123456789 发表于 2009-8-8 08:50:00

对话框上的时间是如何实现动态变化的呢?

carrot1983 发表于 2009-8-8 09:50:00

<p>太牛了,忍不住拍手叫绝。。。</p><p>;本代码全部由Visual DCL程序自动生成</p><p>智能开发。</p><p>感觉一股新的源动力浮现在眼前。</p><p>开发对于nonsmall只能算小CASE。</p>

yxp 发表于 2009-8-8 11:45:00

不错,此前见识过的lisp游戏程序运行起来CPU占用率太高,而且几乎把CAD资源用完了,无法再进行其他操作,能否用此技术优化?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【原创】颠覆传统!纯Lisp也玩多线程开发!谜底揭晓!!!