关于多线程问题

bluelucky2001 2009-04-03 04:50:14
实例化一个变量 例如 byte[] buf=new byte[10]

然后在两个线程中都使用buf

thread1
{
int a=10;
buf[0]=5;
thread1.sleep(5000);
a=a-buf[0]
}

thread2
{
thread1.sleep(1000);
buf[0]=8;
}
程序结束以后 ,a=2,如何保护buf在两个线程中互不干扰?用lock行吗?
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluelucky2001 2009-04-06
  • 打赏
  • 举报
回复
请问具体代码??
十八道胡同 2009-04-04
  • 打赏
  • 举报
回复
用lock!
RFEZGC 2009-04-03
  • 打赏
  • 举报
回复
要是一前一后的话,就用EVENTWAITHANDLE把
truenetercobra 2009-04-03
  • 打赏
  • 举报
回复
用mutex或lock都行
wuyq11 2009-04-03
  • 打赏
  • 举报
回复
互斥访问
bluelucky2001 2009-04-03
  • 打赏
  • 举报
回复
打错了一个字

实例化一个变量 例如 byte[] buf=new byte[10]

然后在两个线程中都使用buf

thread1
{
int a=10;
buf[0]=5;
thread1.sleep(5000);
a=a-buf[0]
}

thread2
{
thread2.sleep(1000);
buf[0]=8;
}
程序结束以后 ,a=2,如何保护buf在两个线程中互不干扰?用lock行吗?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧