【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

多线程和多进程还是有很多区别的。其中之一就是,多进程是linux内核本身所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都是相互隔离的,而多线程则不同,不同的线程除了堆栈空间之外所有的数据都是共享的。说了这么多,我们还是自己编写一个多线程程序看看结果究竟是怎么样的。

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>void func_1(void* args)
{while(1){sleep(1);printf("this is func_1!\n");}
}void func_2(void* args)
{while(1){sleep(2);printf("this is func_2!\n");}
}int main()
{pthread_t pid1, pid2;if(pthread_create(&pid1, NULL, func_1, NULL)){return -1;}if(pthread_create(&pid2, NULL, func_2, NULL)){return -1;}while(1){sleep(3);}return 0;
}

和我们以前编写的程序有所不同,多线程代码需要这样编译,输入gcc thread.c -o thread -lpthread,编译之后你就可以看到thread可执行文件,输入./thread即可。

[test@localhost Desktop]$ ./thread
this is func_1!
this is func_2!
this is func_1!
this is func_1!
this is func_2!
this is func_1!
this is func_1!
this is func_2!
this is func_1!
this is func_1!

linux下的C语言开发(多线程编程)相关推荐

  1. linux下的C语言开发

    在很多人的眼里,C语言和linux常常是分不开的.这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品.当然,linux操作系统本身对C语言的支持也是相当到位的.作为一个真正 ...

  2. linux系统最好的c类语言开发软件,Linux下基于C 语言开发即时通信软件.doc

    Linux下基于C 语言开发即时通信软件 Linux下基于C++语言开发即时通信软件 关键词:聊天软件 文字聊天 Linux平台 C/S架构ICE中间件 Linux-based instant mes ...

  3. linux c语言 信号,linux下基于C语言的信号编程实例

    搜索热词 本文实例讲述了linux下基于C语言的信号编程方法.分享给大家供大家参考.具体如下: #include #include #include #include #include void si ...

  4. linux c多进程多线程,linux下的C\C++多进程多线程编程实例详解

    linux下的C\C++多进程多线程编程实例详解 1.多进程编程 #include #include #include int main() { pid_t child_pid; /* 创建一个子进程 ...

  5. 第4章 Linux下的C语言开发基础

    第4章 Linux下的C语言开发基础 4.1 C语言开发的基本步骤 C语言源程序开发的基本步骤如下: 根据项目需求划分功能模块 编辑.利用文本编辑器vi或gedit编写C源程序并保存,文件的后缀为.c ...

  6. swift 在linux系统,Linux下搭建Swift语言开发学习环境

    介绍在Ubuntu平台搭建Swift开发环境: 介绍Swift脚本解析器swift的使用: 介绍swift编译器swiftc的使用: 1.序言 周三12月4日凌晨1点多看到苹果正式开源了Swift,国 ...

  7. linux下做c语言开发

    在开始之前,首先要说明的是,linux开发程序最主要的编辑器是vi/vim编辑器,当然还有emacs,gedit,只是vi/vim的用户实在是压倒性的多数,原因就是,它在编辑效率上的战胜了其他对手.v ...

  8. 开始在linux下做c语言开发

     本篇文章旨在介绍如何开始在linux下面进行C语言程序设计,以及如何使用程序设计及调试工具进行编写C程序.学会使用gcc及gdb等工具进行linux下的c编写和调试. 在开始之前,首先要说明的是 ...

  9. linux下的C语言开发 GDB的例子

    在很多人的眼里,C语言和linux常常是分不开的.这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品.当然,linux操作系统本身对C语言的支持也是相当到位的.作为一个真正 ...

  10. linux下的C语言开发(开篇)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在很多人的眼里,C语言和linux常常是分不开的.这其中的原因很多,其中最重要的一部分我认为是 ...

最新文章

  1. mysql 不让读的锁_MySQL实战45讲阅读笔记-锁
  2. 视觉计算理论简介【转】
  3. Apache Kudu 1.9.0 发布,支持位置感知
  4. 《JavaScript凌厉开发 Ext详解与实践》的目录
  5. linux文件系统挂载磁盘,linux – 无法挂载磁盘(VFS:找不到ext4文件系统)
  6. express利用nodemailer发送邮件(163邮箱)
  7. 随机梯度下降的实现细节
  8. 非阻塞线程安全列表——ConcurrentLinkedDeque应用举例
  9. 数组的应用 冒泡排序
  10. jq 直接调用php文件_PHP性能分析工具,你在用哪一个?
  11. (转)孙正义:数字资产会成为人类最大的资产
  12. 拼多多、小米、美团等科技公司为何急上市?
  13. 成都二套房限购政策有哪些,看完就知道
  14. OpenCV实践之GMS网格运动统计策略的特征匹配算法
  15. springboot学习(下)
  16. 概率论-小记录(矩估计)
  17. U-Boot 之三 详解使用 eclipse + J-Link 进行编译及在线调试
  18. 策略性发疯_如何使自己的房屋“智能”而不发疯
  19. Incremental Learning of Object Detectors without Catastrophic Forgetting详解
  20. 【路科V0】systemVerilog基础11——随机变量

热门文章

  1. iOS tableview简单动画
  2. 微信用户量破6.5亿 首超移动QQ
  3. [起重机监测系统] 1、基于无线传输的桥式起重机的安全监测方案
  4. Ubuntu8.10安装小记
  5. 在.NET中读写INI文件 ——兼谈正则表达式的应用
  6. Vue----常见面试题
  7. 我们来说一说TCP神奇的40ms
  8. 软工实践项目课程的自我目标
  9. Delphi更高效率的编程方式的思考【一】
  10. C++学习笔记————WINAPI宏定义