A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈子斌 中级黑马   /  2012-7-13 22:50  /  3152 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

谁能解释下C#中多线程重入的问题呀,在视频里学到那里的时候,我知道多个线程同时读取和写入一个变量时,会出现重入的问题,但是两个线程循环1000次时a=1017是如何产生的,为什么会是那个值,不是很能理解,求指导啊。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

正序浏览
当多个线程互斥的访问textBox对象的时候,就需要对此对象做加锁解锁操作,当A线程访问TextBox之前对TextBox加锁的目的是为了在A线程访问(修改此对象)期间其他的线程不能访问此TextBox,如果没有加锁,那么在A线程修改此对象期间,B线程也来修改,此时就会出现修改混乱,进而textBox对象没有达到预期的正确的值,
加锁的操作是:
Lock(要加锁的对象)
{
   对该对象进行访问(修改)
}//除了这个“}”就表示解锁操作

请参看http://topic.csdn.net/u/20090624/09/7d23dc1d-661d-4c41-94b4-ba4d0830250a.html

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马