2016 - 2024

感恩一路有你

多线程之间数据共享 多线程间怎么传递数据?

浏览量:2811 时间:2021-03-15 13:43:46 作者:admin

多线程间怎么传递数据?

传递多个参数的多线程可以通过以下方法实现:typedef struct{void*arg1 void*arg2//add semaphore}argvoid func(void*arg1,void*arg2){Arg a.arg1=arg1 a.arg2=arg2//initialize a.semaphore=0 pthreaduuCreate(&tid,routine,NULL,&a)//wait a.semaphore}void*routine(void*Arg){Arg a=(Arg*)Arg void*arg1=a->arg1 void*arg2=a->arg2//post a.semaphore}参数表,也称为形式参数表,包含任意数量的(包括0,即没有)参数描述项。当有多个参数时,两个参数描述项必须用逗号分隔。每个参数描述项由定义的数据类型和变量标识符组成。变量标识符称为函数的形式参数,形式参数前面给出的数据类型称为形式参数的类型。函数定义可以省略,表示该函数是非参数函数。如果它被void替换,也表示它是一个非参数函数。如果它不是空的,也不是保留字void,则称为参数函数。

如何向线程传递参数?

一个常见的错误是使用全局变量将参数传递给线程。事实上,这种方法的缺点是不安全、麻烦,如果要打开多个线程,甚至更麻烦。正确的方法是将线程和线程入口函数所需的参数分别封装到一个类中,必要时还可以封装一些辅助函数。这样,代码简单明了,易于重用。接下来,用一个thread类的例子来说明。首先,线程类如下:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类:线程类//--文件:clsThreadFun.cs /--德描述:这个班演示如何使用线程类。 //--作者:奈特 //--日期:3月21日,2006 //-------------------------------------------------------------- //---------------------------{ThreadFun Class}-------------------------------------usingsystemnamespacescsnewtest{///

多线程之间数据共享 如何在两个线程之间共享数据 进程和线程

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。