【C】——如何用线程进行参数的传递
直接上代码:
#include<pthread.h>
#include<stdio.h> struct val{
int num1;
int num2;
}; //send a int to arg
void *text(void *arg)
{
int *p = (int *)arg;
printf("arg is %d\n",*p);
pthread_exit(NULL);
} //send char to arg
void *text2(void *arg)
{
char *d = (char *)arg;
printf("arg is %s\n",arg);
pthread_exit(NULL);
} //send a struct to arg
void *text3(void *arg)
{
struct val *v = (struct val *)arg;
printf("arg is v.num1:%d,v.num2:%d\n",v->num1,v->num2);
pthread_exit(NULL);
} int main()
{
pthread_t pth;
char val[] = "i am arg.";
int arry = ;
pthread_create(&pth, NULL, text,(void *)&arry);
pthread_join(pth, NULL); pthread_create(&pth, NULL, text2, (void *)val);
pthread_join(pth, NULL); struct val v;
v.num1 = ;
v.num2 = ;
pthread_create(&pth, NULL, text3, (void *)&v); //一定要用&v因为结构体是值类型;
pthread_join(pth, NULL); return ;
}
结果如下:

每次传递的时候,都需要转化成void,接收之后,再由void转换成自己需要的类型!
【C】——如何用线程进行参数的传递的更多相关文章
- c++多线程参数的传递
#include <iostream> #include <pthread.h> //多线程相关操作头文件,可移植众多平台 using namespace std; struc ...
- JMeter 不同线程组间变量传递
JMeter元件都是有作用域的,而变量大多使用正则表达式提取器,要想在不通过线程组件使用变量参数,则需要设置全部变量 JMeter函数助手就提供了一个函数用于设置全局变量属性,实现的功能类似于在用户自 ...
- jmeter之beanshell取出需要参数,传递给下个请求
jmeter之beanshell取出需要参数,传递给下个请求 事件背景: 上周同事用jmeter录制脚本,录制成功回放后,并没有达到自己想要的结果. ps:他想从数据库取出某个字段值,然后对数据库做操 ...
- JMeter 不同线程组间变量传递(亲测 ok)
JMeter元件都是有作用域的,而变量大多使用正则表达式提取器,要想在不通过线程组件使用变量参数,则需要设置全部变量 JMeter函数助手就提供了一个函数用于设置全局变量属性,实现的功能类似于在用户自 ...
- c#线程带参数
c#线程带参数 ThreadStart threadStart = delegate { LoadPicture(ds.Tables[0]); }; Thread thread = new Threa ...
- Shell编程基础教程7--脚本参数的传递
7.脚本参数的传递 7.1.shift命令 简介: shift n 每次将参数位置向左偏移n位 例子 #!/bin/bash us ...
- js函数中参数的传递
数据类型 在 javascript 中数据类型可以分为两类: 基本类型值 primitive type,比如Undefined,Null,Boolean,Number,String. 引用类型值,也就 ...
- hibernate的dao中参数的传递取值
hibernate的dao中参数的传递取值 private Query setParameter(Query query, Map<String, Object> map) { if (m ...
- C# - 函数参数的传递
近段时间,有几个刚刚开始学习C#语言的爱好者问我:C#中的函数,其参数的传递,按值传递和按引用传递有什么区别.针对这一问题,我简单写了个示例程序,用以讲解,希望我没有把他们绕晕.因为,常听别人说起:“ ...
随机推荐
- 如何获取 docker 容器(container)的 ip 地址(转)
1. 进入容器内部后 cat /etc/hosts 会显示自己以及(– link)软连接的容器IP 2.使用命令 docker inspect --format '{{ .NetworkSetting ...
- CommonView for wifi抓包破解WPA无线网络
运行环境:win8 64位+intel 5100n网卡 步骤1:下载CommonView完全破解版,非破解版只有跑10分钟 http://www.nlver.cn/soft/7305.html 步骤2 ...
- pm2 设置开机启动
一.官方文档: 官方相关文档:http://pm2.keymetrics.io/docs/usage/startup/#generating-a-startup-script 二.具体操作过程如下: ...
- unity, shader中获得当前像素深度
frag shader中直接访问i.pos.z就是深度,不必除以i.pos.w,因为系统已经自动进行过了透视除法且已将i.pos.w置为0.
- 揭秘QQ 安全password框的原理
这篇文章也算是朝花夕拾.事实上非常早曾经就知道的原理,如今拿出来和大家交流分享一下. 故事总要有缘由.那么这个故事的缘由就是,当我曾经写了一个获取其他进程password框password的时候(前几 ...
- 关于iReport-5.6.0之前版本 “无法启动”或者“一开就关闭”的 某些原因
在经过Google搜索后.外国的大神说: We don't support Java 8 right now. Support will be added in next versions. 大概意思 ...
- 关于"996",我想说的 - 人在高潮享受成就,人在低潮享受人生
996 - 9点上班,21点下班,周六必须上班. 这就是IT界的潜规则,之前晚上陪家人看新闻的时候我就看到一则新闻轻描淡写的说了996制度,我当时就想说点甚么,但是没有,然而就仿佛突然的一下爆发了,我 ...
- ios之清除cell缓存,解决cell的重用问题。
tableView表格中的cell有重用机制,这是一个很好的东西,可以避免开辟很多的空间内存.但是有时候我们不想让它重用cell,,可以用以下的代码解决. 将这个代码放在: - (UITableVie ...
- Chrome浏览器查看 iframe信息 OpenFrame
https://chrome.google.com/webstore/search/openframe?hl=zh-CN&_category=extensions 搜索 OpenFrame 添 ...
- Fluent UDF【4】:C语言
Fluent UDF利用的是C语言,本文简单介绍在UDF中经常会用到的C语言常识. 本文部分内容来自UDF手册. 1 C语言中的注释 C语言中的注释利用/*及*/来实现.例如: /*这是一个注释*/ ...