- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 C#使用读写锁解决多线程并发写入文件时线程同步的问题
在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉,问题就有可能出现了,因为同一个文件并不允许多个线程同时写入,否则会提示“文件正在由另一进程使用,因此该进程无法访问此文件”。这是文件的并发写入问题,就需要用到线程同步。而微软也给线程同步提供了一些相关的类可以达到这样的目的,本文使用到的System.Threading..
2020-05-23 09:50:08 2040
原创 C# 中 volatile 关键字的解读
volatile关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile修饰符通常用于由多个线程访问而不使用lock 语句(C# 参考)语句对访问进行序列化的字段。有关在多线程方案中使用 volatile 的示例,请参见如何:创建和终止线程(C# 编程指南)。volatile关键字可应用于以下类型的字段:引用类型。 指针类型(在不安全的上下文中)。请注意,虽然...
2020-05-22 16:35:32 866
原创 WPF 中实现 Winfrom 中 Application.DoEvents() 方法
熟悉 Winfrom 中 Application.DoEvents() 方法的朋友一定用过此方法,此方法可以立即处理当前在消息队列中的所有 Windows 消息。 如在一个按钮单击事件中,需要每一秒改变label的Text属性,如下代码: private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 50; i++) {
2020-05-20 15:06:59 1383
Invoke Interop Assistant
2021-02-24
SerialPortHelper-master.zip
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人