线程

2022-08-24  本文已影响0人  Aaron_Swartz

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)

上一篇下一篇

猜你喜欢

热点阅读