C#
upcdxlq
这个作者很懒,什么都没留下…
展开
-
浅析多线程
要解释清楚什么是多线程,还是得从多线程产生的根源来探讨! CPU运行的一个任务叫一个进程,但需要处理的任务绝对不止一个,CPU怎么办呢?它在一个时刻只能执行一个任务,所以,多个任务只能不断地切换执行。 那当我们在执行一个进程的时候,我们发现任务本身各部分并不是同步的,严格按顺序执行的,有些部分之间是需要同时执行的,因此,为了达到这种同时执行的效果,将进程根据实际的任务执行模式细分为线程单元,这...原创 2018-12-23 16:18:56 · 135 阅读 · 0 评论 -
UI卡死——有趣的死锁问题
一、假设有这样一个通信服务器ComServer,包含接收和发送数据方法ReceiveData和SendData,它们实现的结构是这样的。 //子线程A中调用 public void ReceiveData() { lock(this) { ...... this.Invoke(new Action(()=> { ...原创 2019-01-11 15:06:00 · 1088 阅读 · 0 评论 -
C#获取x86/x64软件注册信息
问题描述:如果当前软件是x86或Any CPU平台编译,要想获取到x64软件注册信息默认是不支持的,但又不可避免需要检查其他软件是否完成安装,因此,需要对32位和64位软件注册信息进行全面检查,我们通过调用Advapi32.dll来实现。 1)默认获取与当前编译平台对应的软件注册信息 List<string> displayNameList = new List<stri...原创 2019-03-28 15:32:33 · 420 阅读 · 0 评论