明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 74482|回复: 286

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

    [复制链接]
发表于 2009-8-7 15:03:00 | 显示全部楼层 |阅读模式
本帖最后由 不死猫 于 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来实现即可

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 4威望 +1 明经币 +7 金钱 +30 贡献 +5 激情 +5 收起 理由
lcxing + 1 + 10
zctao1966 + 1
飞诗(fsxm) + 3 很给力!
mccad + 1 + 2 + 20 + 5 + 5 【精华】好思路

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-5-15 08:38:06 | 显示全部楼层
苦思了一夜,终于弄懂了,关键就在猫老师说的这句
开两个CAD,通过一个CAD调用另一个CAD的函数(就是透过VL对象),很容易就找到多线程的效果了,然后你再想办法把代码从一个CAD来实现即可
真是脑洞大开了

点评

能悟出这点不简单!  发表于 2019-6-24 17:41
发表于 2024-8-23 10:37:28 | 显示全部楼层
这个lisp多线程我也想各种办法测试了,最后实现了纯lisp的批处理执行,对vlisp是不行的, 对于大量并发计算,直接还是通过接口委托给第三方语音,如c++、rust来执行了
发表于 2024-8-23 15:25:01 | 显示全部楼层
liminnet 发表于 2009-8-20 10:58
NONS哥,越来越强啦,好想知道怎么搞的,NONS哥现在的水平真高啊,不怪是贱人工具箱给NONS哥破解了是这样容 ...

出来了???
发表于 2009-8-7 15:17:00 | 显示全部楼层

抢头坐啦,支持NONS哥

发表于 2009-8-7 15:41:00 | 显示全部楼层
排队,向高手学习!
发表于 2009-8-7 16:40:00 | 显示全部楼层

看不明白,要加强!

发表于 2009-8-7 17:01:00 | 显示全部楼层

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

发表于 2009-8-7 17:17:00 | 显示全部楼层
对话框上的时间是如何实现动态变化的呢?
 楼主| 发表于 2009-8-7 23:54:00 | 显示全部楼层
jxphklibin发表于2009-8-7 17:01:00生成dcl文件,不用这么麻烦,可以省去循环的

1 如果程序中需要用户图面选取 循环就很必要。

2 因为代码都是程序自动生成的,没有人工参与,所以无所谓麻烦。

发表于 2009-8-8 08:50:00 | 显示全部楼层
对话框上的时间是如何实现动态变化的呢?
发表于 2009-8-8 09:50:00 | 显示全部楼层

太牛了,忍不住拍手叫绝。。。

;本代码全部由Visual DCL程序自动生成

智能开发。

感觉一股新的源动力浮现在眼前。

开发对于nonsmall只能算小CASE。

发表于 2009-8-8 11:45:00 | 显示全部楼层
不错,此前见识过的lisp游戏程序运行起来CPU占用率太高,而且几乎把CAD资源用完了,无法再进行其他操作,能否用此技术优化?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 08:49 , Processed in 0.194752 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表