编辑:这个问题没有实际意义。我误读了提交日期,它包含在现有版本的 Go 工具中。谢谢,詹姆斯!
似乎即将发布的 Go (1.3) 将允许 non-Go threads to call CGO callbacks .
我想知道迄今为止,人们通常会做什么来绕过此限制。
也就是说,我有一个自己创建线程的第三方库,我想从这些线程中获取一些信息到 Go 代码中。
在代码的“C”端,某种从 C 线程到 Go 线程的切换机制?有什么方法可以在不调用 Go 的情况下将消息放入队列?其他想法?
最佳答案
您突出显示的提交是从去年 2 月开始的,也就是 Go 1.1 版本之前的提交。它还引用了 issue 4435 ,它被标记为 Go1.1
。
我不确定人们以前做了什么来绕过限制(如果确实可能的话),但是对于该语言的最后两个发布版本,没有必要使用变通方法。我已经在我的许多项目中顺利使用了该功能。
关于multithreading - 使用 Go 1.2 的线程 CGO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252387/