线程函数传参|学习笔记

简介: 快速学习线程函数传参

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频线程函数传参】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11059


线程函数传参

 

内容介绍:

一、验证线程函数传参

二、创建线程一传参

 

一、验证线程函数传参

在创建线程的时候,void*arg参数是给线程函数传参的,是通用类型的指针,4个字节。

也就是说给线程函数传参的时候只能传四个字节,可以传输地址亦或是一个整数,整数也是四个字节。

在创建线程一的时候传输“hello,world”传一个指针进去,此时的arg就指向h;一旦创建线程成功,hello,word这个字符串会给形参arg赋值。此时 进行打印字符串。

Printf(“%s\n,(char*)arg);打印的时候需要注意,因为arg是通用指针,所以将其强制转换成字符指针,进行打印。

 

二、创建线程一传参

在创建线程二的时候,定义一个整型变量,int  num=100;将num传进去,也是四个字节,传num的地址也可以。

他的形参是一个指针,也可以容纳下四个字节。将其打印,将指针强制转换成整型,最好传输地址。

注意!!num是指针类型,但是你将其转换成整数,进行强制类型转换。(Void*)num。将while(1)打开,否则进程很快结束。

编辑器中输入./pthread可以看到100和hello word都已经被打印出来了。说明在创建线程的时候可以给线程传参。

最好传递地址,将(void*)num改为&num,取num的地址给他,arg是num的地址,将(int)arg强制转换为整型指针,

改为:*((int*)arg))即可。以上则为线程函数传参。

相关文章
|
2月前
|
存储 安全 数据管理
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
19 1
|
2月前
|
设计模式 安全 C++
【C++ const 函数 的使用】C++ 中 const 成员函数与线程安全性:原理、案例与最佳实践
【C++ const 函数 的使用】C++ 中 const 成员函数与线程安全性:原理、案例与最佳实践
238 2
|
2月前
|
存储 安全 Linux
【C/C++ 可重入函数与不可重入函数】理解C/C++ 中函数的可重入性以及与线程安全性的关系
【C/C++ 可重入函数与不可重入函数】理解C/C++ 中函数的可重入性以及与线程安全性的关系
39 0
【C/C++ 可重入函数与不可重入函数】理解C/C++ 中函数的可重入性以及与线程安全性的关系
|
9月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
66 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
|
4月前
|
存储 算法 Linux
一起聊聊内核中的线程:操作函数、进程状态、task_struct、举个例子、
一起聊聊内核中的线程:操作函数、进程状态、task_struct、举个例子、
66 0
|
5月前
|
Linux
Linux多线程基础函数使用
Linux多线程基础函数使用
29 0
|
6月前
|
存储 前端开发 C语言
C++11的多线程、function和bind、可变函数模板-2
C++11的多线程、function和bind、可变函数模板
51 1
|
6月前
|
安全 C++
C++11的多线程、function和bind、可变函数模板-1
C++11的多线程、function和bind、可变函数模板
51 0
|
7月前
|
存储 安全 Linux
Go语言学习笔记-进程和线程
Go语言学习笔记-进程和线程
36 0
Go语言学习笔记-进程和线程
|
8月前
|
安全 调度 C语言
iOS多线程之GCD-同步、异步、并发、串行、线程组、栅栏函数、信号量等全网最全的总结
iOS多线程之GCD-同步、异步、并发、串行、线程组、栅栏函数、信号量等全网最全的总结
492 1