题⽬:⻳兔赛跑 跑道距离 50⽶ 乌⻳(⼀个线程) 每秒 3⽶ 不睡觉 ;兔⼦(⼀个线程)每秒5⽶ 每跑15⽶睡2秒钟。 请模拟⽐赛情况:
#include <iostream> #include <thread> #include<unistd.h> using namespace std; void proTT(int totalLen){ int leftLen=totalLen; int count=0; while(true){ leftLen-=5; count+=5; sleep(1); if(leftLen<=0){ printf("兔兔跑到终点啦~~~~\\n"); break; }else{ printf("兔兔还剩 %d到终点!\\n",leftLen); } if(count % 15==0){ sleep(2); } } } void proWG(int totalLen){ int leftLen=totalLen; while(true){ leftLen-=3; sleep(1); if(leftLen<0){ printf("乌龟跑到终点啦~~~~\\n"); break; }else { printf("乌龟还剩 %d到终点!\\n", leftLen); } } } int main(){ int totalLen =50; thread tt(proTT,totalLen); thread wg(proWG,totalLen); tt.join();//阻塞等待线程结束并且回收资源 wg.join(); }
标签:count,赛跑,多线程,int,龟兔,C++,include,leftLen From: https://www.cnblogs.com/swbna/p/17117649.html