锁定老帖子 主题:ruby可以做嵌入语言不
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-09
ray_linn 写道 RednaxelaFX 写道 嗯当然可以嵌入用。有些游戏引擎还就是拿Ruby当嵌入脚本用的。
老文章例如这篇 http://metaeditor.sourceforge.net/embed/ 没有Context之类的对象,你需要的是一些全局函数。嗯这也是MRI不适合嵌入的一个方面 = = 没有Context对象,基本MultiThread就玩不动了,看来C族嵌入式语言还是基本该用lua和js啊。 lua目前是比较适合用于嵌入的语言... |
|
返回顶楼 | |
发表时间:2011-08-10
推lua和jsv8
|
|
返回顶楼 | |
发表时间:2011-08-11
moonscript (编译成lua) 貌似很帅的样子
|
|
返回顶楼 | |
发表时间:2011-08-11
night_stalker 写道 moonscript (编译成lua) 貌似很帅的样子
最后找到了python,哈,可以有2个上下文,一个全局一个局部的,ruby只好丢一边了。 |
|
返回顶楼 | |
发表时间:2011-08-11
小白,没看明白楼主的意思。
你是一个进程还是多个进程啊? 一个进程直接访问就行了,多个进程可以用DRB啊 |
|
返回顶楼 | |
发表时间:2011-08-12
最后修改:2011-08-12
kiol 写道 小白,没看明白楼主的意思。
你是一个进程还是多个进程啊? 一个进程直接访问就行了,多个进程可以用DRB啊 提到嵌入语言,宿主一般另一种语言,两个ruby玩一起还需要发帖么?关DRB啥事了? |
|
返回顶楼 | |
发表时间:2011-08-13
python是个全局大锁,多线程意义不大,我建议你还是用lua,angelscript之类的脚本语言。这些语言能创建多个context,而python虽然功能非常强大,但未必适合多线程访问。至于ruby,在嵌入方面感觉是没什么优势。
//下面是引用的。 全局解释器锁 (Global Interpretor Lock) 说明 Python 解释器并不是线程安全的。当前线程必须持有全局锁,以便对 Python 对象进行安全地访问。因为只有一个线程可以获得 Python 对象/C API,所以解释器每经过 100 个字节码的指令,就有规律地释放和重新获得锁。解释器对线程切换进行检查的频率可以通过 sys.setcheckinterval() 函数来进行控制。 此外,还将根据潜在的阻塞 I/O 操作,释放和重新获得锁。有关更详细的信息,请参见参考资料部分中的 Gil and Threading State 和 Threading the Global Interpreter Lock。 需要说明的是,因为 GIL,CPU 受限的应用程序将无法从线程的使用中受益。使用 Python 时,建议使用进程,或者混合创建进程和线程。 |
|
返回顶楼 | |
发表时间:2011-08-13
http://zhuoqiang.me/a/python-thread-gil-and-ctypes
|
|
返回顶楼 | |
发表时间:2011-08-22
没怎么看懂扯到多线程了,ruby的话,一个脚本,用eval可以把。
我把ruby弄到板子上了,好像ray_linn以前搞过。挺方便的。 |
|
返回顶楼 | |
发表时间:2011-08-22
night_stalker 写道 moonscript (编译成lua) 貌似很帅的样子
angelscript。。不过仿佛比lua还方便,一个函数或者是类只需要注册到AS的虚拟机中, 就可以在AS脚本中使用了. |
|
返回顶楼 | |