zoukankan      html  css  js  c++  java
  • c++多线程参数的传递

    #include <iostream>
    #include <pthread.h>        //多线程相关操作头文件,可移植众多平台
    using namespace std;
    
    struct mypara
    {      
        int para1;            //参数1       
        char *para2;        //参数2
        pthread_t wait;
    };
    
    void* thread1( void* args )  //本函数演示的是数据的传出
    {
        mypara *my = (mypara *)args;
        srand(unsigned(time(0)));
        my->para1 = rand()%100;
        my->para2 = "";
        cout << "给结构体赋值结束"<< endl;
        return 0;
    } 
    void* thread2( void* args ) //本函数演示的是数据的传入
    {
        mypara *str_in = (mypara *)args;
        cout << "线程2开始运行........................" <<endl;
        pthread_join(str_in->wait,NULL);    //需要等待thread1线程给struct 结构体赋值结束后才能运行
        cout << "线程1产生的随机数是:" << str_in->para1<< " "<< str_in->para2 <<endl;
        return 0;
    } 
    int main()
    {
        pthread_t tid1,tid2; 
        mypara my_para;
    
        int ret = pthread_create( &tid1, NULL, thread1, (void *)&my_para );    
        //pthread_join(tid1,NULL);
        my_para.wait = tid1;
        pthread_create( &tid2, NULL, thread2, (void *)&my_para );
        system("pause");
        pthread_exit( NULL ); 
    }

    c++多线程参数的传递——通过结构体传递参数。(pthread多线程类库,不能在x64位上编译,【C++ 11 自带多线程】)

  • 相关阅读:
    经典代码JSKeyword查看(M。。。$)的哦!
    django处理websocket
    产品所有者也应该是Scrum教练吗?
    google的javascript编码规范
    python 处理websocket
    [转] 虚拟座谈会:TDD有多美?
    python 数字相关
    google的python编码规范
    python 函数相关
    python推荐的模块结构
  • 原文地址:https://www.cnblogs.com/lwngreat/p/4280226.html