设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2446|回复: 11
打印 上一主题 下一主题

[有事请教] 关于Ruby脚本的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
跳转到指定楼层
1
发表于 2018-7-14 21:21:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
代码内容


代码如上,套一个while之后就会卡死awa

怎么实现类似的功能并正常运行

Lv3.寻梦者

孤独守望

梦石
0
星屑
3121
在线时间
1534 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2018-7-15 21:26:01 | 只看该作者
直接sysread这么硬核的么……
while没有出口,凭什么不卡死?
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

3
发表于 2018-7-15 22:43:41 | 只看该作者
可是你的代码里面没有写着while
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
4
 楼主| 发表于 2018-7-16 07:23:13 | 只看该作者
IamI 发表于 2018-7-15 21:26
直接sysread这么硬核的么……
while没有出口,凭什么不卡死?

不是啊

以上代码套一个while,结尾end,然后测试游戏会一直黑屏,然后显示代码已备份
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
5
 楼主| 发表于 2018-7-16 07:23:44 | 只看该作者
yang1zhi 发表于 2018-7-15 22:43
可是你的代码里面没有写着while

套了while(结尾加end)就会一直黑屏

点评

满足条件就不在执行循环,不然就一直循环。一直循环那肯定就卡住  发表于 2018-7-16 08:04
那你要贴出套了while的啊。谁知道你while后面的条件是什么  发表于 2018-7-16 08:04
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
6
 楼主| 发表于 2018-7-16 12:48:15 | 只看该作者
yang1zhi 发表于 2018-7-15 22:43
可是你的代码里面没有写着while

我写的是while true
awa
回复 支持 反对

使用道具 举报

Lv2.观梦者

永无止境的旅程

梦石
0
星屑
503
在线时间
1552 小时
注册时间
2012-6-19
帖子
1226

开拓者贵宾

7
发表于 2018-7-16 16:40:22 | 只看该作者
rgss是单线程的脚本,我记得好像没有完全继承ruby的特性,ruby是多线程的。到rm这里就成了单线程,所以你如果执行耗时任务肯定会卡住黑屏啦
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
<font size="5">[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&tid=396208&extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
8
 楼主| 发表于 2018-7-17 16:48:50 | 只看该作者
丿梁丶小柒 发表于 2018-7-16 16:40
rgss是单线程的脚本,我记得好像没有完全继承ruby的特性,ruby是多线程的。到rm这里就成了单线程,所以你如 ...

所以所我应该怎么实现呢
回复 支持 反对

使用道具 举报

Lv2.观梦者

永无止境的旅程

梦石
0
星屑
503
在线时间
1552 小时
注册时间
2012-6-19
帖子
1226

开拓者贵宾

9
发表于 2018-7-17 17:39:44 | 只看该作者
BlueHalo 发表于 2018-7-17 16:48
所以所我应该怎么实现呢

并不能实现,除非你把底层内核改了。
但是我能给你一些建议。虽然是单线程 但是也能并发执行。
多线程的原理是这样的,给你打个比方。前面有四桶水,四个桶是空的,装满一桶是一个任务。水管可以喷水是cpu执行。ruby是这样的,你用水管喷满一桶执行完一个任务。 如果多线程就是这样,执行的,每一桶装一点,无序的一桶装一点,直到全部装满。实际上系统的多线程也是这样执行的。ruby是执行单线程的,本身提供的api Thread也会卡住线程,所以想要实现多线程你就得把内核给改了
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
<font size="5">[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&tid=396208&extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
21 小时
注册时间
2018-6-3
帖子
39
10
 楼主| 发表于 2018-7-17 18:39:33 | 只看该作者
丿梁丶小柒 发表于 2018-7-17 17:39
并不能实现,除非你把底层内核改了。
但是我能给你一些建议。虽然是单线程 但是也能并发执行。
多线程的 ...

麻烦。。。

不过我貌似想到了另一种方法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-23 18:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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