`
zybing
  • 浏览: 458911 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【Linux-C】线程实践

阅读更多

用KDevelop开发Linux线程,

 

 

编译遇到pthread_join,说找不到这个函数。

是link的时候遇到的问题;

 

在kdevelop的右边的“Automake Manager”的下面一个窗口,右键工程名字,选择Option菜单

在Libraries卡片中的”Link libraries outside project(LDADD)“中,进行add

输入 -lpthread

 

编译通过

 

==================================

在一个for循环中,开启多个线程,每个线程开启的时候,传入一个参数(就是for的循环变量),发现所有线程中,接收到的值都是一样的,可是传入的时候值是不同的。

pthread_create( &thread, NULL, (void *)function, (void *)&i )

 

线程创建是,传入的是i的地址,开启线程,是异步的过程,不是调用pthread_create,线程就开启了,

 

这样每个线程接收到的地址是一样的,而且几乎都是在for循环结束的时候才开启的线程,这样线程中,接收到的值都是一样的;

 

如果要线程接收到正确的值,可以

1. 在线程开启后,调用一下sleep或者usleep,给线程启动的时间;

2. 传入线程的值,给每个线程一个不同的变量,这样每个线程就能接收到自己的值,不会冲突了;

 

==============================

pthread_exit和return区别

 

如果在线程中,return返回到函数的上一层,而pthread_exit在线程中无论哪里调用,就退出线程

这2个函数,在线程主函数中调用,效果是一样的;

 

 

分享到:
评论

相关推荐

    linux-c语言编程.pdf

    ### Linux-C语言编程知识点解析 #### 一、基础知识:源程序编译与Makefile的编写 在Linux环境下,C语言编程的入门阶段需掌握的核心技能包括源程序的编译、Makefile的编写、程序库的链接、程序调试以及对头文件和...

    linux-c.zip_C语言_Linux C语言_linux_linux-c

    除了上述内容,还有许多高级主题,如信号处理、线程编程、内存管理、网络编程等,都是Linux下C语言开发中不可或缺的知识。通过阅读《Linux下C语言》这本书,你可以更深入地了解这些主题,提高你的编程技能。 总的来...

    Linux-C语言编程系列

    在Linux环境下进行C语言编程是许多开发者和技术爱好者的基础技能,尤其对于系统级编程和嵌入式领域至关重要。...通过不断实践和学习,开发者可以利用C语言的威力,充分挖掘Linux系统的潜力,创建高效、稳定的软件应用。

    linux-inject-master.zip

    Linux注入技术是Linux系统中的...总之,`linux-inject-master`项目为学习Linux注入技术提供了实践平台,通过这个项目,你可以掌握如何在Linux环境中实现类似Windows远程线程注入的功能,提升你的系统级编程和调试能力。

    基于linux-C语言源码开发ftp客户端发送jpg图片到ftp服务器

    在Linux环境下,使用C语言开发FTP客户端来发送jpg图片到FTP服务器是一项常见的编程任务,它涉及到网络编程、文件操作和FTP协议的理解。以下是对这个主题的详细解释。 首先,我们需要理解FTP(File Transfer ...

    linux-c-develop.rar

    在Linux环境下进行C语言开发是一项基础且重要的技能,尤其对于那些致力于系统级编程或嵌入式领域的...这份指南可能会涵盖实践案例、代码示例以及相关的调试技巧,帮助开发者更好地适应和利用Linux环境进行C语言开发。

    linux-c系统学习资料

    【Linux-C系统学习资料详解】 Linux-C编程是IT领域中不可或缺的一部分,它涵盖了操作系统理论、程序设计以及系统级编程等多个方面。这套“Linux-C系统学习资料”为初学者和有经验的开发者提供了一条深入理解Linux...

    Linux-C.rar_linux C函数_linux 包含文件

    本压缩包"Linux-C.rar"正是针对Linux系统下C语言编程的参考资料,包括两个文件:Linux_C函数.pdf和Linux C函数使用手册.chm,这两个文档都是中文版,方便了国内开发者学习和查阅。 Linux C函数是进行Linux系统编程...

    操作系统上机-Linux多线程编程

    在操作系统的学习过程中,掌握Linux多线程编程是至关重要的技能之一。Linux作为一款广泛使用的开源操作系统,其强大的系统调用接口和丰富的库函数为开发者提供了实现多线程应用的便利条件。多线程编程允许程序同时...

    linux下c语言实现多线程web服务器

    在Linux环境下,C语言是一种...综上所述,"linux下c语言实现多线程web服务器"项目涵盖了操作系统、网络编程、线程管理、内存操作、并发控制等多个方面,对于理解系统级编程和Web服务的内部工作原理有着重要的实践价值。

    linux_code.rar_linux 多线程_linux 线程_多线程编程

    在Linux系统中,多线程编程是实现高效并发执行任务的一...总的来说,这份压缩包为学习Linux多线程编程提供了宝贵的实践材料,通过深入研究这些源码,你可以更好地理解和掌握多线程在Linux环境中的工作原理和最佳实践。

    Unix-Linux编程实践教程(中文清晰带书签).pdf

    6. **C语言编程**:Unix/Linux编程通常使用C语言,因此熟悉C语言的基本语法、内存管理、指针操作是必要的。 7. **标准输入/输出和重定向**:了解stdin、stdout、stderr的概念,并学会如何利用它们进行输入输出操作...

    linux-c-man.rar_linux man

    在Linux操作系统中,C语言是核心编程语言,用于开发系统级程序、设备驱动、嵌入式软件等。...通过深入研读和实践,你将能够更好地掌握Linux环境下的C语言编程技能,为你的项目开发打下坚实的基础。

    jdk-8u111-linux-x64.tar.gz

    tar -zxvf jdk-8u111-linux-x64.tar.gz -C /usr/local/ ``` 这条命令会将解压后的文件夹移动到 `/usr/local` 目录下,这样可以保持系统的整洁。 2. **设置环境变量**:为了让系统知道Java的位置,需要更新环境...

    高质量嵌入式Linux-C编程

    《高质量嵌入式Linux-C编程》这本书,便是这样一本将Linux操作系统与C语言编程紧密结合的教程,它不仅仅教授读者如何编写代码,更重要的是教会读者如何编写出高质量、高效率、并且安全可靠的嵌入式程序。 首先,...

    Linux-C-function-参考手册

    这份"Linux-C-function-参考手册"提供了一套全面的指南,旨在帮助Linux编程者掌握C语言库中的函数,提升他们的编程效率和代码质量。下面,我们将深入探讨这个手册中可能涵盖的关键知识点。 1. **标准库函数**: - ...

    linux c 多线程安全日志系统

    在Linux C环境中,多线程安全日志系统是一种常见的需求,尤其在服务器应用程序中,它能够确保在高并发环境下正确地记录系统事件。本项目利用线程锁、信号量和文件操作技术,构建了一个安全的日志系统,同时考虑了...

    Linux -C程序设计大全 程序员典藏 源代码

    《Linux - C程序设计大全 程序员典藏 源代码》是一部深度探讨Linux环境下C语言编程的权威著作,旨在帮助程序员掌握在Linux操作系统上进行高效C语言编程的技巧和方法。这本书包含了丰富的源代码示例,是学习和进阶...

Global site tag (gtag.js) - Google Analytics