首页 > 编程语言 >C/C++多线程实现龟兔赛跑

C/C++多线程实现龟兔赛跑

时间:2023-02-13 20:13:58浏览次数:43  
标签:count 赛跑 多线程 int 龟兔 C++ include leftLen

题⽬:⻳兔赛跑 跑道距离 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

相关文章

  • [C++] thread未定义
    [C++]无法识别thread在已经包括thread头文件和使用了std命名空间的情况下编译器依旧无法使用C++11的thread类,大概率是因为使用的MinGW的线程模型为win32而非POSIX。解决......
  • C++构造和析构
    category:cpp参考书籍:C++PrimerEssentialC++编译器:gcc/g++C++构造和析构构造函数名字和类名相同没有返回值构造函数是用来构造对象,构造对象时候必定调用构造函数不......
  • 【C++复习】运算符优先级(简)
    不同优先级的运算符混在一起,就根据优先级算相同优先级的运算符混在一起,就看它们的结合性(这里不谈)1、运算符有哪些?单目运算符*++自增,有前置和后置--自减,有前置和后置......
  • C++ 修改防火墙firewall设置(Linux、Ubuntu、CentOS)
    1、简介1.1Ubuntuhttps://ubuntu.com/download/desktopUbuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“......
  • java中的多线程
    多线程​​1、线程概述​​​​1.1进程​​​​1.2线程​​​​2、线程的创建和启动​​​​2.1继承Thread类​​​​2.2实现Runnable接口​​​​2.3继承Thread类和实......
  • Calling C++ Code From Go With SWIG
    http://zacg.github.io/blog/2013/06/06/calling-c-plus-plus-code-from-go-with-swig/ RecentlywhileworkingonaGobasedprojectIneededtousesomefunctio......
  • 关于适配服务器创建多线程任务的一些见解
    1、首先理解I/O密集和CPU密集CPU密集型CPU密集型,也叫计算密集型,一般是指服务器的硬盘、内存硬件性能相对CPU好很多,或者使用率低很多。系统运行CPU读写I/O(硬盘/内存)时可......
  • VScode 配置C++环境记录
    gcc/g++是c/c++编译器,Windows需要借助Mingw来使用c++的编译器,下面是安装MinGW的教程:搬运:https://blog.csdn.net/jjxcsdn/article/details/123058745在VScode中配置编译......
  • Visual C++课程设计选题任务书[2023-02-13]
    VisualC++课程设计选题任务书[2023-02-13]VisualC++课程设计选题任务书课程设计要求:每个课题最多供2名学生选择。使用VisualStudio平台进行开发(推荐使用VisualStu......
  • C/C++图书入库管理系统[2023-02-13]
    C/C++图书入库管理系统[2023-02-13]题目21图书入库管理系统[说明及要求]实现图书信息(书号、书名、作者、定价、数量)的新增、修改、删除和查询功能;实现入库信息(书号......