rabbitfoot530's diary

読んだ本と、プログラムに関することのメモです。好きな言語は、C++, Python, Golang, TypeScript。数学・物理・学習理論も好きです。

std::thread

boost::threadじゃなくて、std::threadでのスレッドプログラム。

#include <thread>
std::mutex m;

void th_do(int i) {
  std::lock_guard<std::mutex> lk(m);
  std::cout << "do! : " << i << std::endl;
}

int main() {
  std::vector<std::thread> threads;
  for (int i = 0; i < 5; ++i) {
    threads.push_back(std::thread(th_do, i));
  }

  for (int i = 0; i < 5; ++i) {
    threads[i].join();
  }
}