百科问答小站 logo
百科问答小站 font logo



在C#中,如何实现跟native dll 中途的线程间通信? 第1页

  

user avatar   wolf0403 网友的相关建议: 
      

volatile 用在多线程环境里基本所有用法都是错误的,何况这个过程还经过了 C# -> C++ DLL 的处理。

简单说,另开一个 DLLExport 的 API stop(),设置一个 C++ 里的全局 flag(用 atomic 或者加锁),然后在这个 test 函数里 check 这个 flag 试试看。

更好的应该是把计算放在其它线程 / 进程,避免阻塞请求线程。




  

相关话题

  Java 和 C# 最大的不同是什么? 
  为什么Powershell可以在源码中直接调用.NET类,而VBA只能调用.NET DLL? 
  如何正确理解.NET 4.5和C# 5.0中的async/await异步编程模式? 
  CodeBlocks 的强大之处在哪里? 
  C++ 允许「我们都是人,所以我可以把你私有的眼睛借来随便玩,再还给你」,这难道是一种设计上的妥协? 
  C++为何不允许在函数中直接传递数组? 
  如何在在asp项目中正常调用非托管c++dll? 
  C++ 中,std::atomic 是真正的「原子」吗? 
  C++构造函数为什么要依赖初始化列表? 
  ajax发送json数据到后台时,数据中包含html代码的文本,会出现Connection Error如何解决? 

前一个讨论
为什么武林各派都是盘踞在山上?如青城派华山派,平原地区不适合练武吗?
下一个讨论
女儿四岁,胆小懦弱,在幼儿园被欺负,回家不敢说,我很着急沟通,却被女儿误解,如何解决?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利