gpt4 book ai didi

ruby - 绕过 Ruby 1. 9's new " native “线程”

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:51 25 4
gpt4 key购买 nike

Ruby 1.9 有线程,但它们有很多问题——最大的一个是它们不能在同一个跨平台上工作(优先级表现不同,线程内的 loop {} 会吃掉Solaris 中的整个过程,但不是 Linux 或绿色线程等)。

但是,他们让新的本地线程类名称与旧的绿色类相同:Thread。

有没有办法可靠地绕过这个?还是在没有 native 线程的情况下构建 ruby​​ 1.9?

我想我可以将旧的绿色 Thread 类放入其中,但我不知道这是否允许非线程安全的 C 扩展正常工作。

再见!

最佳答案

据我所知,Thread 类是用 C 语言编写的,因此您必须重新编译包含以前实现的 Ruby 版本。事实上,可能存在一些不兼容性。

我对 Solaris 和 Threads 没有太多经验。如果您主要使用线程,一种可能的解决方案是使用 JRuby 而不是标准的 Ruby 实现。 JRuby 基于 JVM,具有可与标准 Java 线程相媲美的原生线程。我假设基于 Java 的环境可以在 Solaris 上按预期工作。

关于ruby - 绕过 Ruby 1. 9's new " native “线程”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1931946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com