Flash Adobe Alchemy线程支持

Flash Adobe Alchemy线程支持,flash,actionscript-3,alchemy,Flash,Actionscript 3,Alchemy,我已成功编译(没有错误)FluidSync库,该库在旧版本中使用pthreads,在新版本中使用glib gthreads。但是,在swf中,我分别得到运行时错误Undefined sym:_pthread\u attr\u init和Undefined sym:_g_thread\u init 就线程而言,这是一条死胡同,还是有一种方法可以实现这一点?(或者我在最后的链接阶段跳过了什么?) 对于gthreads,提到自定义线程实现: 线程系统是用g_thread_init()初始化的,它采用可

我已成功编译(没有错误)FluidSync库,该库在旧版本中使用pthreads,在新版本中使用glib gthreads。但是,在swf中,我分别得到运行时错误
Undefined sym:_pthread\u attr\u init
Undefined sym:_g_thread\u init

就线程而言,这是一条死胡同,还是有一种方法可以实现这一点?(或者我在最后的链接阶段跳过了什么?)

对于gthreads,提到自定义线程实现:

线程系统是用g_thread_init()初始化的,它采用可选的自定义线程实现,默认实现为NULL


我知道alchemy不支持本机线程,但是否可以使用一些伪绿色线程实现来实现此目的?

因为Flash Player没有线程,所以您的alchemy C代码无法线程化。然而,你可以使用炼金术中的“绿色线程”来解决这个问题

当您调用通过公开的函数时,无论何时调用,它都会挂起自身,允许其他代码运行,然后“稍后”继续

我认为AS3代码没有任何理由不能同时调用两个或多个AS3_functionsync-wrapped函数。因为您的代码是线程安全的,所以它可能会正常工作。请注意,为了使代码更好地运行,您必须在代码中放置flyield(这非常类似于旧操作系统的“协作多任务”)


无论如何,它值得一试。

因为Flash播放器没有线程,所以你的炼金术C代码不能被线程化。然而,你可以使用炼金术中的“绿色线程”来解决这个问题

当您调用通过公开的函数时,无论何时调用,它都会挂起自身,允许其他代码运行,然后“稍后”继续

我认为AS3代码没有任何理由不能同时调用两个或多个AS3_functionsync-wrapped函数。因为您的代码是线程安全的,所以它可能会正常工作。请注意,为了使代码更好地运行,您必须在代码中放置flyield(这非常类似于旧操作系统的“协作多任务”)

无论如何,值得一试