线程
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)