c++ 线程应用 始上最简单的例子

join()的作用前面已经提到,主线程等待子线程结束方可执行下一步(串行),detach()是的子线程放飞自我,独立于主线程并发执行,主线程后续代码段无需等待。看看效果: 


#include 
#include 
#include 

void hello_thread(){
  std::cout<<"hello Thread1"<

编译命令:

gcc demo1.cpp  -lstdc++ -o demo1  -lpthread

 

可时启多个线程 ,简单例子

#include   
#include   
#include 

#define NUM 10

int count;

void* thread_func(void *arg){
  count++;
//  printf("count %d\n" , count);
  sleep(20);
  printf("count %d\n" , count);
  return 0;
}

int main()
{
  pthread_t tid[NUM];
  int i=0;
  for(int i=0;i

在类内部启动线程

#include 
#include 
#include 


class HelloThread{
public:
   static void hellothread(){
     std::cout<<"Hello world,i''m a thread!"<

用类内部函数在类外部创建线程

非常普通的类,只是用多线程调用其内部的函数

#include 
#include 
#include 
#include 
class HelloWorld{
public:
   void hello(int year){
     std::cout<<"year="<

数据同步最简单的例 子

#include 
#include 
#include 
#include 

std::mutex mt;
int data=1;

void add(int a=1){
  mt.lock();
  data=data+a;
  std::cout<<"add after data="<

你可能感兴趣的:(C++)