当前位置: 首页 > news >正文

C#调用Halcon出现尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException

一、现象

     在C#中调用Halcon,出现异常提示:尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException

二、原因

    多个线程同时访问Halcon中的某个公共变量,导致程序报错

三、测试

    3.1 Halcon代码

      其中tsp_width为Halcon中的缓存尺寸

private void Test1()
{HOperatorSet.SetSystem("tsp_width", 500);
}

   3.2 多线程调用

     多线程进行访问,程序报错

        private void button1_Click(object sender, EventArgs e){Task.Run(() => { Test1(); });Task.Run(() => { Test1(); });Task.Run(() => { Test1(); });Task.Run(() => { Test1(); });}private void Test1(){HOperatorSet.SetSystem("tsp_width", 500);}

3.3 改善措施

   参考多线程访问公共变量方法进行即可

http://www.lryc.cn/news/317673.html

相关文章:

  • ts基础知识
  • KLayout Python Script ------ 绘制1个 Box 物体
  • c# 编辑、删除一条数据
  • 高性能服务系列【八】C10M时代,网络IO库需要重建
  • Go语言与Rust哪一个更有发展前景?
  • STM32使用定时器驱动电机
  • C语言游戏实战(4):人生重开模拟器
  • MVC架构模式学习笔记(动力节点老杜2022)
  • docker常用操作-docker私有仓库的搭建(Harbor),并将本地镜像推送至远程仓库中。
  • 什么是MVC
  • ChatGPT浪潮来袭!谁先掌握,谁将领先!
  • Focal and Global Knowledge Distillation forDetectors
  • FX110网:1月美国零售货币资金环比上升2.61%,嘉盛环比上升1.86%
  • 全量知识系统的核心-全量知识的一个“恰当组织”的构想及百度AI答问
  • C++中using 和 typedef 的区别
  • LeetCode-1944题: 队列中可以看到的人数(原创)
  • Java基础面试题整理2024/3/13
  • MachineSink - 优化阅读笔记
  • 虾皮shopee根据ID取商品详情 API
  • 你知道数据库有哪些约束吗?
  • QT----基于QT的人脸考勤系统(未完成)
  • 机试:成绩排名
  • C编程基础四十分笔记
  • k8s关于pod
  • yum安装mysql 数据库tab自动补全
  • MBT-Net
  • 大数据赋能,能源企业的智慧转型之路
  • 2024考研国家线公布,各科分数线有哪些变化?考研国家线哪些涨了,哪些跌了?可视化分析告诉你
  • 高效、安全的APP分发与推广平台
  • 浅谈异或运算