91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

線程間使用SRW輕量級鎖共享變量

發布時間:2020-06-12 11:38:20 來源:網絡 閱讀:704 作者:Chinayu2014 欄目:編程語言
SRWLOCK  g_lock = {};        //輕量級鎖
CONDITION_VARIABLE  g_val={};//輕量級鎖的同步條件
INT  iGlobal = 0;            //讀寫的全局變量
DWORD  WINAPI  WriteThread(LPVOID lpParameter)
{//寫線程
	while (1)
	{  
		Sleep(20);
		__try
		{
			AcquireSRWLockExclusive(&g_lock);//申請獨占鎖
			iGlobal++;
		}
		__finally
		{
			ReleaseSRWLockExclusive(&g_lock);//釋放獨占鎖
			WakeAllConditionVariable(&g_val);//喚醒條件變量
		}
	}
	return 0;
}

DWORD WINAPI  ReadThread(LPVOID lpParameter)
{//讀線程
	while (true)
	{   
		Sleep(30);
		__try
		{
			AcquireSRWLockShared(&g_lock);//申請共享鎖
			BOOL rt = SleepConditionVariableSRW(&g_val, &g_lock, 20, 
			                     CONDITION_VARIABLE_LOCKMODE_SHARED);//等待條件變量
			if (rt)
			{
				char str[20] = {};
				itoa(iGlobal, str, 10);
				TRACE(str);
			}
 			else
 			{
				char str[20] = {};
				itoa(iGlobal, str, 10);
				TRACE(str);
			}
		}
		__finally
		{
			ReleaseSRWLockShared(&g_lock);//釋放鎖
		}
	}
	return 0;
}

void CtestThreadDlg::OnBnClickedButton15()
{
	InitializeSRWLock(&g_lock);
	InitializeConditionVariable(&g_val);
	
	DWORD  ThreadID =0;
	HANDLE  hWrite = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)WriteThread, 
	                     NULL, CREATE_SUSPENDED, &ThreadID);
	HANDLE  hRead  = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReadThread, 
	                     NULL, CREATE_SUSPENDED, &ThreadID);

	ResumeThread(hWrite);
	ResumeThread(hRead);
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉贤区| 麻城市| 普陀区| 开平市| 丁青县| 神农架林区| 巴彦县| 博湖县| 洪江市| 江山市| 德令哈市| 哈巴河县| 建阳市| 紫阳县| 中西区| 阿城市| 方城县| 景宁| 永泰县| 福贡县| 汤原县| 舒兰市| 凌云县| 麻江县| 买车| 金平| 芒康县| 黎平县| 台前县| 鹤岗市| 千阳县| 龙川县| 大庆市| 鲜城| 白玉县| 宣城市| 南投县| 舞钢市| 黔东| 大石桥市| 定结县|