gpt4 book ai didi

c++ - 同时读/写是否会导致数据竞争以外的任何其他问题?

转载 作者:行者123 更新时间:2023-12-03 12:48:29 29 4
gpt4 key购买 nike

<分区>

我的理解是,当两个线程同时读取和写入同一个变量时,应用程序会崩溃。我写了一个小程序来模拟这个场景。我运行了几次,但没有发现任何崩溃。我在这里缺少什么?

#include <iostream>
#include <thread>

using namespace std;

int g_TestVar = 0;

void ReadFunction()
{
for (size_t i = 0; i < 5000; ++i) {
cout << this_thread::get_id() << "------" << g_TestVar << '\n';
}
}

void WriteFunction()
{
for (size_t i = 0; i < 5000; ++i) {
g_TestVar = rand();
}
}

int main()
{
thread ReadThread[100];
thread WriteThread[100];

for (size_t i = 0; i < 100; ++i) {
ReadThread[i] = thread(ReadFunction);
WriteThread[i] = thread(WriteFunction);
}

for (size_t i = 0; i < 100; ++i) {
ReadThread[i].join();
WriteThread[i].join();
}

return 0;
}

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com