少有人走的路

勇哥的工业自动化技术网站

本站视觉相关教程整理贴子,持续更新

2020年勇哥的机器视觉实验项目清单(大纲)

勇哥的免费视频教程清单

勇哥在B站发布的视频清单

C#读写锁ReaderWriterLockSlim

这篇文章向大家介绍了读写锁ReaderWriterLockSlim,其优点就是多个线程可以同时读取该对象,要了解更多读写锁的知识,仔细阅读下文吧读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读写锁,则多个线程可以同时读取该对象,只有等到对象被写入锁

C# 勇哥关于多线程读写plc内存的研究

勇哥注: 多线程读写非全双工的硬件资源,是个实现比较困难的任务。 有不服气的同学可以尽管一试。我们说一个硬件如果是全双工,则表示它的读写是两个信道,可以同时进行。但是像很多品牌的plc,一般是不能全双工进行通讯的;另外还有串口,我们也不能全双工通讯。如果你的系统只有一个串口,你如何做到能让多线程读写呢?这要求你写的代码能实现:  多线程可同时访问,但是取得结果是分时取得。 读写功能必须互斥。每个线程的访问和取得的结果必须匹配。勇哥今天写的这个类,经测试可以很好的满足上面的

使用VS的性能分析工具来分析代码的性能瓶颈问题(2) 内存使用率

勇哥注: 一般我们通过使用windows的任务管理器来分析软件的性能问题。 通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、 暴句柄、吃cpu等等问题。 这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。 因此此篇我与大家共同学习。这一篇讲“内存使用率”工具。先提供一段存在内存泄露的代码。  private void button2_Click(object sender, 

使用VS的性能分析工具来分析代码的性能瓶颈问题(1) CPU采样

勇哥注: 一般我们通过使用windows的任务管理器来分析软件的性能问题。 通过cpu占用率、cpu时间、线程数量、句柄数量几个关键参数来分析软件存在的内在泄露、暴句柄、吃cpu等等问题。 这里我们来研究一下vs自带的性能分析工具,勇哥之前也没有接触过。因此此篇我与大家共同学习。(一)先看下怎么启用vs的性能分析工具。首先,调试菜单选择“性能探查器"。点击 之后会出现下面的界面。这里可以选择分析现有项目,还是分析其它项目或者其它可执行文件。若是分析其它项目我们选择 “更改目标”

C#中只使用Invokerequired来判断是不是UI线程可靠吗?

今天遇到一个C#的Crash,用windbg打开dump,加载sos之后一看,在4号线程出了一个System.InvalidOperationException,在这个地址上调用!pe。可以看到如下的异常信息:12345Exception object:Exception type: System.InvalidOperationExceptionMessage: The calling thread cannot access this object because a different t

C# 勇哥关于winform.Show() ,winform.ShowDialog() 窗体卡死、显示阻塞、无法置顶问题的研究

勇哥注: 一个winform窗口,被Show()后是非模态窗口,被ShowDialog()是模态窗口,这个知识是无人不晓的。 但是,有些时候,会产生弹出窗口卡死、阻塞显示、无法置顶的诸多问题。 这一篇和勇哥一起研究一下这些现象。先来看下现象:下面的form是由Show()方法弹出来的。屏幕产生了阻塞显示的现象。看下任务管理器,提示这个弹出winform是“无响应”的。如果你此时去操作调用者的ui上的功能,主程序ui也会跟着阻塞掉,全部失去响应。在网上搜索类似问题,找到一个提问和勇哥遇到问题

C# Win32API.SendMessage在用户模式下发送无效的解决办法

Win32下的windows API  SendMessage,在用户模式下发送是无效的。现象就是你怎么发送,对方的程序就是收不到。窗口句柄什么的、程序都没问题的。这个时候,你得把C#程序系统用户级别提升为windows管理员级别,才可以解决问题。方法是在你的引导工程这边,引入app.mainifest进行windows账号配置这个文件打开后,是下面这样的:我们只需要按提设置下面这句: <requestedExecutionLevel le

C# 勇哥的datagridview控件杂记,一网打尽全部常用知识点

勇哥注: C#的 DataGridView控件功能强大。许多知识点会常用常忘记,在这里做个记录吧,以方便查询。 阅读此文需要你对此控件有初步的认识。 另外一点,不要以为它只是用于显示数据的表格,要打破这种认知。未完待续。。。。(十) DataGridViewButtonColumn 怎么设置显示内容。2022/11/16 添加:DataGridViewButtonColumn 是按钮项。用下面的代码显示内容。  if&n

C# BackgroundWorker组件的介绍

勇哥注: BackgroundWorker是标准的更新软件界面的一个组件。 它可以用于软件启动界面、刷新IO表、刷新界面硬件实时数据、相机的实时采集模式等等这样的应用中。 这些应用的特点就是后台执行一组耗时操作,而ui又需要实时更新后台操作的进度或者结果信息。 此组件常用常忘,因此留文备查。一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能一个程序中需要进行大量的运算,并且需要在运算过程中支持用

C# windows 线程 cpu占用率 cpu时间的杂谈

此篇是勇哥的随记,很多疑问,和猜测,可能不准确,但是网上也搜不到相应的资料。各位看客如果发现有问题请指正。。。。(图1)今天发现我开发的通用运动软件,在一台比较差的电脑配置上面。cpu占用率为0, cpu时间基本不动。然而在一台i9电脑上面,此电脑比较牛B,是可以用来做深度学习的。同样跑通用运动软件。cpu占用率在2%-4%, cpu时间跟北京时间的秒数差不多快。勇哥一直以为,同样的软件,cpu越牛B,cpu占用率越低。今天刷新了三观。这几个勇哥关注的系统值,关系到你软件的运行效率。比如那个cp
<< < 70 71 72 73 74 75 76 77 78 79 > >>
«    2026年3月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864