我想让一个Posix线程在经过一段时间后完成它的工作。您可以在简单的C + Python伪代码中看到我的解决方案。但我认为这不是一个有效而准确的解决方案。实现这个目标的最佳途径是什么?
Mutex incrementLock
BigInteger n = 0
int milliToWork = 5000
Worker()
int elapsedMilli = 0
while elapsedMilli < milliToWork
clock_t startClock = clock()
Lock(incrementLock)
n += 1
Unlock(incrementLock)
clock_t endClock = clock()
elapsedMilli += (double)(endClock - startClock) / (double)CLOCKS_PER_SEC * 1000.0
main()
int nThreads = 100
Thread threads[nThreads]
for i = 1 to nThreads
ThreadCreate(threads[i], Worker)
for i = 1 to nThreads
ThreadJoin(threads[i])