如何结合C++ gettickcount与多线程

   2024-10-05 5210
核心提示:在C++中,可以使用GetTickCount()函数获取当前系统运行时间的毫秒数,然后结合多线程来实现一些并发操作。下面是一个简单的示例

在C++中,可以使用GetTickCount()函数获取当前系统运行时间的毫秒数,然后结合多线程来实现一些并发操作。下面是一个简单的示例代码:

#include <iostream>#include <windows.h>#include <thread>DWORD WINAPI MyThreadFunction(LPVOID lpParam) {    while (true) {        DWORD tickCount = GetTickCount();        std::cout << "Thread ID: " << GetCurrentThreadId() << ", Tick Count: " << tickCount << std::endl;        Sleep(1000); // 每隔1秒输出一次    }    return 0;}int main() {    HANDLE hThread = CreateThread(NULL, 0, MyThreadFunction, NULL, 0, NULL);    if (hThread == NULL) {        std::cerr << "Failed to create thread" << std::endl;        return 1;    }        while (true) {        DWORD tickCount = GetTickCount();        std::cout << "Main Thread, Tick Count: " << tickCount << std::endl;        Sleep(1000); // 每隔1秒输出一次    }    CloseHandle(hThread);    return 0;}

在上面的代码中,我们创建了一个新的线程MyThreadFunction,在该线程中不断获取系统运行时间的毫秒数,并输出。同时,主线程也在不断获取系统时间并输出。这样就实现了使用GetTickCount()结合多线程进行并发操作的功能。

需要注意的是,在实际的多线程应用中,要注意线程之间的同步和互斥,以避免出现竞争条件和数据访问冲突的情况。可以使用互斥量、信号量等机制来实现线程间的同步和互斥。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号