使用Go 1.2的线程CGO

时间:2014-04-23 18:26:46

标签: multithreading go thread-safety cgo

编辑:这个问题没有实际意义。我误读了提交日期,它包含在现有版本的Go工具中。谢谢,詹姆斯!

似乎即将发布的Go(1.3)将允许non-Go threads to call CGO callbacks

我想知道人们迄今为止通常采取了哪些措施来解决这个限制。

也就是说,我有一个第三方库自己创建线程,我想从这些线程中获取一些信息到Go代码中。

某种类型的切换机制,从C线程到#34; C"代码的一面?有些方法可以在不调用Go的情况下将消息发送到队列中?其他想法?

1 个答案:

答案 0 :(得分:0)

您所强调的提交是从去年2月开始的,这是在Go 1.1发布之前。它还引用issue 4435,标记为Go1.1

我不确定人们之前为了解决这个限制做了什么(如果确实可能的话),但对于该语言的最后两个发布版本,没有必要采用解决方法。我已经在我的一些项目中使用了这种能力而没有发生任何事故。