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 自带多线程】)

  • 相关阅读:
    POJ 3667 & HDU 3308 & HDU 3397 线段树的区间合并
    HDU 5992 kd-tree
    BZOJ 4154 kd-tree dfs序 + 二维空间的区间(矩阵)更新单点查找
    BZOJ 4066 kd-tree 矩形询问求和
    BZOJ 1941 kd-tree
    BZOJ 2648 kd-tree模板
    HDU 5925 离散化
    php trait
    php命名空间
    js
  • 原文地址:https://www.cnblogs.com/lwngreat/p/4280226.html
Copyright © 2011-2022 走看看