我已经成功地编译了(没有错误) fluidsynth库,它在旧版本中使用p线程,在新版本中使用glib线程。然而,在swf中,我分别获得了运行时错误Undefined sym: _pthread_attr_init和Undefined sym: _g_thread_init。
就线程而言,这是死胡同,还是有办法让这件事奏效呢?(还是我在最后的链接阶段跳过了什么东西?)
对于g线程,这位医生提到了自定义线程实现:
线程系统是用g_thread_init()初始化的,它采用可选的自定义线程实现或默认实现的NULL。
我知道炼金术不支持原生线程,但是一些假的绿色线程实现可以用于这个目的吗?
发布于 2011-07-26 15:44:33
因为Flash不是线程的,所以您的炼金术C代码不能线程化。但是,您可以使用炼金术中的“绿色线程”来解决这个问题。
当您调用通过FunctionAsync公开的函数时,每当调用挠曲时,它都会挂起自己,允许运行其他代码,然后继续“稍后”。
我不认为AS3代码不能同时调用两个或多个AS3FunctionAsync包装函数的原因。因为您的代码是线程安全的,因此is可能只是起作用。请注意,您将不得不在整个代码中放置play,以使其运行良好(这非常类似于旧OSes的“协作多任务处理”)。
不管怎样,这值得一试。
https://stackoverflow.com/questions/6797149
复制相似问题