为了账号安全,请及时绑定邮箱和手机立即绑定

请问c#串口该怎么使用lock?有知道的慕友吗?

请问c#串口该怎么使用lock?有知道的慕友吗?

C#
蛊毒传说 2023-03-03 17:13:45
目的:DataReceived收到一条完整的数据后,用上lock,然后处理数据,完了之后解放lock.
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

lock (1级)
过程:对象1——获锁——修改——释锁——对象2——获锁....
要的就是这个效果吧?(在对象1进行修改的时候,其它对象不能干预)
如:
static string a=DataReived...(接受到数据)
object b=new object();
public static void 对象1()
{lock(b){//修改处理 获取到的数据 }}
public static void 对象2()
{lock(b){//修改处理 获取到的数据 }}
///////////////////////////阳光的啥...说的也对,lock锁是用于2个甚至多个 对象 对 你要访问的对象 进行 修改访问,而你对象正在访问DataReceived的数据,又不是多个对象对DataReceived收到一条完整的数据进行访问
要你这么说,你需要学习一下同步机制 的ReaderWriterLock类 
这是个啥类?它会让你 拥有 多个 “读线程” 1个“写线程”
等你修改DataReceived的数据的时候,很多的"读线程"会共同读取,最新的值,(读线程如此的多,怕个啥)

查看完整回答
反对 回复 2023-03-06
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信