线程

作者: Aaron_Swartz | 来源:发表于2022-08-24 15:07 被阅读0次

    1 新建多线程

    #include <iostream>
    #include <vector>
    #include <set>
    #include <stdio.h>
    #include <unistd.h>
    #include <thread>
    
    using namespace std;
    
    int n = 0;
    void f1();
    void f2();
    
    int main(int argc, char **argv) {
      std::thread t1(f1);
      std::thread t2(f2);
      t1.join();
      t2.join();
    
      printf("hello slam");
      return 0;
    }
    
    void f1(){
      while(1) {
        printf("n:%d\n", ++n);
        sleep(1);  
      }
    };
    
    void f2(){
      while(1){
        printf("m:%d\n", ++n);
        sleep(2);
      }
    };
    
    

    2 CmakeList 详情

    # 声明要求的 cmake 最低版本
    cmake_minimum_required(VERSION 2.8)
    
    # 声明一个 cmake 工程
    project(HelloSLAM)
    
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall ")
    include_directories(${CMAKE_SOURCE_DIR})
    file(GLOB SRC_FILES    #注意这里定义都shell 变量 SRC_FILES 一定要对应在add_executable中!
        "${PROJECT_SOURCE_DIR}/*.cpp"
    )
    # 设置编译模式
    set(CMAKE_BUILD_TYPE "Debug")
    find_package(Threads REQUIRED)
    # 添加一个可执行程序
    # 语法:add_executable( 程序名 源代码文件 )
    add_executable(helloSLAM helloSLAM.cpp ${SRC_FILES})
    target_link_libraries(helloSLAM Threads::Threads)
    
    

    相关文章

      网友评论

          本文标题:线程

          本文链接:https://www.haomeiwen.com/subject/vmtzgrtx.html