从goroutine调用阻塞DLL函数?
我正在为Windows编写一个Go程序,该程序将调用我单独编写和构建的C DLL。C函数将运行一个事件循环,该循环将大部分时间用于阻塞系统调用 goroutine如下所示: 1) 加载DLL 2) 按名称查找函数 3) 调用它,它只有在我关闭进程时才会返回 我知道goroutine不是“真正的”线程,但在这种情况下,将其视为一个线程安全吗?到目前为止,这个程序似乎正是我想要的,但我有点担心goroutine调度程序会在某个时候咬我从goroutine调用阻塞DLL函数?,go,dll,Go,Dll,我正在为Windows编写一个Go程序,该程序将调用我单独编写和构建的C DLL。C函数将运行一个事件循环,该循环将大部分时间用于阻塞系统调用 goroutine如下所示: 1) 加载DLL 2) 按名称查找函数 3) 调用它,它只有在我关闭进程时才会返回 我知道goroutine不是“真正的”线程,但在这种情况下,将其视为一个线程安全吗?到目前为止,这个程序似乎正是我想要的,但我有点担心goroutine调度程序会在某个时候咬我 这安全吗?谢谢 然后使syscall所有操作系统线程锁定并等待s
这安全吗?谢谢 然后使syscall所有操作系统线程锁定并等待syscall结束。所有其他线程都运行良好 为了获得更好的并发性,您可以使用从当前操作系统线程移出所有goroutine 它是安全的。