有人试过在开多个goroutine 调用dll吗?
单 goroutine 调用dll 处理数据是没问题的,如果开多个goroutine就不行 ;
一开始我把加载起来的 dll 和 proc 定义为 全局变量,多个goroutine 共同使用,会崩溃,以为会冲突;
然后又尝试在每个goroutine 中各自加载dll ,声明proc ,还是会崩溃;
网上说的三种调用 dll 的方法均尝试了,一样的。
这个 dll 文件内定义了一些全局字符串数组,还有宏,只读不写的,应该没事吧?
有大牛能解释是怎么回事吗?
```go
var dllParse, _ = syscall.LoadLibrary(DLL_RBSFILE)
var rHeader, _ = syscall.GetProcAddress(dllParse, "r_header")
var rChHeaders, _ = syscall.GetProcAddress(dllParse, "r_ch_headers")
var rChData, _ = syscall.GetProcAddress(dllParse, "r_ch_data")
```
有疑问加站长微信联系(非本文作者)