日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线程同步-互锁函数

發布時間:2024/7/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程同步-互锁函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 互鎖函數:
    • LONG InterlockedIncrement(LONG volatile* Addend):遞增指定32位變量,增量位1,可以阻止其他線程同時使用此變量;
    • LONG InterlockedDecrement(LONG volatile* Addend):遞減指定的32變量,減小量位1;

#include<windows.h>
#include<iostream>
#include<process.h>
using namespace std;

UINT __stdcall ThreadProcess(LPVOID lpParam);
int b = true;
int count1 = 0;
int count2 = 0;

int main()
{
?? ?UINT Ui;
?? ?HANDLE hThread[10];
?? ?for (int i = 0; i < 10; i++)
?? ?{
?? ??? ?hThread[i] = (HANDLE)::_beginthreadex(NULL, 0, ThreadProcess, NULL, 0, &Ui);
?? ?}
?? ?Sleep(6000);

?? ?b = false;

?? ?::WaitForMultipleObjects(10, hThread, TRUE, INFINITE);

?? ?for (int i = 0; i < 10; i++)
?? ?{
?? ??? ?::CloseHandle(hThread[i]);
?? ?}

?? ?cout << "Count1=" << count1 << endl;
?? ?cout << "Count2=" << count2 << endl;

?? ?return 0;
}

UINT __stdcall ThreadProcess(LPVOID lpParam)
{
?? ?while (b)
?? ?{ ?

? ? ? ? //做加以操作
?? ??? ?::InterlockedIncrement((long*)&count1);
?? ??? ?::InterlockedIncrement((long*)&count2);

?? ??? ?//count1++;
?? ??? ?//count2++;
?? ?}
?? ?return 0;
}

總結

以上是生活随笔為你收集整理的线程同步-互锁函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。