用多线程计算m*n个数的和的程序,这些数保存在txt文档中;
当我设置[STAThread]时
提示 “不支持一个 STA 线程上针对多个句柄的 WaitAll”
设置为[MTAThread]时
提示 “在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式”
当我设置[STAThread]时
提示 “不支持一个 STA 线程上针对多个句柄的 WaitAll”
设置为[MTAThread]时
提示 “在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式”
常见的解释是:
STAThread和MTAThread是COM线程模型
main函数声明是设置为STA是为了避免调用COM组件时出现问题;
不添加COM组件则该属性对程序没有影响;
OLE( Object Linking and Embedding,对象连接与嵌入,简称OLE技术)
定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)
COM(Component Object Model(COM——组件对象模型))
用来做进程间通讯(Inter-process communication, IPC)以及当作元件式软体开发的平台
而我使用的OpenFIleDialog(类似的有 FolderBrowserDialog)
是Winforms的一些shell组件