C++程序 显示线程接口和内存一致性错误
C++通过使用“线程”头文件允许多线程。该程序作为一个线程,但为了增加程序执行时间/性能,我们可以使用线程来并发运行程序的某些部分。但它可能会导致内存一致性错误问题,可能无法给我们正确的输出。线程用于通过并行运行进程来改善应用程序的性能。
线程可以共享相同的资源或引用指针。两个或更多线程可能引用同一对象或共享某些常见资源,并尝试独立更新或更改共享资源数据,这可能会导致数据不一致。
示例: 在下面的C++程序中,使用两个线程使用相同的函数。首先应该为线程1运行,然后为线程2运行。但是为了显示共享相同资源/函数的内存一致性,输出不一致。
输出-您可以看到输出的不一致性(它是机器相关的)
示例2: 在下面的C++程序中,将尝试从不同线程中访问相同的值,因为可以看到内存一致性错误,因为两个线程将同时运行。
输出-您可以看到输出的不一致性(它是机器相关的)