阅读量:0
在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()
结合多线程进行并发操作的功能。
需要注意的是,在实际的多线程应用中,要注意线程之间的同步和互斥,以避免出现竞争条件和数据访问冲突的情况。可以使用互斥量、信号量等机制来实现线程间的同步和互斥。