有关多线程临界区的几个疑问:
在使用关键区域或者临界区域的时候1。 如果想成为临界对象,是不是只要在该对像后 定义CCriticalSection CriticalSection,这样该对象即成为临界对象 如:int iArray[10];
CCriticalSection CriticalSection;
那么iArray[10]这个数组变成临界对象。
那么如果这样 int iArray1[10];
int iArray2[10];
CCriticalSection CriticalSection;
那么iArray1[10]和iArray2[10], 是不是都是临界对象。
还是只有iArray2[10]是临界对象。
2. 当线程1进入临界区后,即CriticalSection.Lock()或者EnterCriticalSection(..), 而线程2也想进入临界区, 那么这时线程2等待, 是不是CriticalSection.Lock()或者EnterCriticalSection(..)这两个函数完成等待这种动作????
在使用关键区域或者临界区域的时候1。 如果想成为临界对象,是不是只要在该对像后 定义CCriticalSection CriticalSection,这样该对象即成为临界对象 如:int iArray[10];
CCriticalSection CriticalSection;
那么iArray[10]这个数组变成临界对象。
那么如果这样 int iArray1[10];
int iArray2[10];
CCriticalSection CriticalSection;
那么iArray1[10]和iArray2[10], 是不是都是临界对象。
还是只有iArray2[10]是临界对象。
2. 当线程1进入临界区后,即CriticalSection.Lock()或者EnterCriticalSection(..), 而线程2也想进入临界区, 那么这时线程2等待, 是不是CriticalSection.Lock()或者EnterCriticalSection(..)这两个函数完成等待这种动作????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货