STAThread属性,添加在函数之上。
这个属性的本质意义是应用程序的Windows消息机制,在用于与COM控件通讯时所要求的。
了解这个属性,是由于在调用PortAudio库时遇到了问题。
最初在Windows 窗口程序(包括.net core wpf程序)调用PortAudio都没有问题。但是发现创建的命令行程序却不能正常调用。
通过跟进到PortAudio库的源码中,发现在调用coInitialize的时候失败,代码为 0x80010106。在StackOverflower中有人提到,需要在Program中添加这个属性 [STAThread]。确实立即生效。
从这篇里了解了一些这个属性的含义。