c/c++ 多线程简单 玩法 快速掌握简单易懂

本文通过具体代码示例介绍了如何在C++中创建和使用线程,包括使用标准库`<thread>`创建线程的方法,并展示了如何通过线程处理并发任务。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream>
#include<thread>
#include<windows.h>
#include<vector>
using  namespace  std;
using  namespace  std::this_thread;
void  Msg()
{
  MessageBox(0,L "线程启动" ,L "32" ,0);
}
 
void  MsgA( int  num)  //线程玩法2222
{
  std::cout<<get_id() <<  "num="  << num << endl;
}
 
 
void  main()   //线程玩法2222
{
  vector< thread  *>threads;
  for  ( int  i = 0;i < 10;i++)
  {
   threads.push_back( new  thread (MsgA,5)); //创建线程 地址存在vector
  }
  for  ( auto  th : threads) //创建完在执行
  {
   th->join();
  }
  cin.get();
}
   
int  main1445() //线程玩法111   //改名了
{
  auto  n =  thread ::hardware_concurrency();
  cout <<  "You  CPU is "  << n << endl;  //坚持CPU核心
  cout <<  "You  CPU thread "  << get_id() << endl; //获取线程ID
  //创建线程
  
   thread  threadl(Msg);
   thread  thread2(Msg);
   threadl.join();    //执行   必须等待执行 
   thread2.join();  //执行
  
  getchar ();
  return  0;
}

wKiom1hCPNvyOAkHAAB2VeHMzv8873.png-wh_50

wKioL1hCPNuTnL4iAACrKcR2uio623.png-wh_50







 本文转自超级极客51CTO博客,原文链接:http://blog.51cto.com/12158490/1879080,如需转载请自行联系原作者



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值