
Linux 多线程编程
文章平均质量分 85
zqixiao_09
这个作者很懒,什么都没留下…
展开
-
进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停原创 2015-12-12 21:26:53 · 2505 阅读 · 2 评论 -
linux多线程编程——同步与互斥
我们在前面文章中已经分析了多线程VS多进程,也分析了线程的使用,现在我们来讲解一下linux多线程编程之同步与互斥。现在,我们不管究竟是多线程好还是多进程好,先讲解一下,为什么要使用多线程?一、 为什么要用多线程技术?1、避免阻塞,大家知道,单个进程只有一个主线程,当主线程阻塞的时候,整个进程也就阻塞了,无法再去做其它的一些功能了。2、避免CPU空转,应用程序经常会涉及到RPC,数原创 2015-12-15 17:18:10 · 6387 阅读 · 0 评论 -
Linux多线程编程实例解析
Linux系统下的多线程遵循POSIX线程接口,称为 pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux 下pthread的实现是通过系统调用clone()来实现的。clone()是 Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下原创 2015-12-14 18:00:22 · 23608 阅读 · 7 评论 -
Linux 系统应用编程——多线程经典问题(生产者-消费者)
“生产者——消费者”问题是Linux多线程编程中的经典问题,主要是利用信号量处理线程间的同步和互斥问题。 “生产者——消费者”问题描述如下: 有一个有限缓冲区(这里用有名管道实现 FIFO 式缓冲区)和两个线程:生产者和消费者,它们分别不停地把产品放入缓冲区中拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也不IXUS等待。另外,因原创 2016-01-10 12:47:17 · 12568 阅读 · 2 评论 -
Linux 系统应用编程——线程基础
传送门:Linux多线程编程实例解析 . linux多线程编程——同步与互斥 . 统多任务操作系统中一个可以独立调度的任务(或称之为顺序执行流)是一个进程。每个程序加载到内存后只可以唯一地对应创建一个顺序执行流,即传统意义的进程。每个进程的全部系统资源是私有的,如虚拟地址空间,文件描述符和信号处理等等。使用多进程实现多任务应用时存在如下问题:1)任务切换,即进程间上下文切换原创 2016-01-07 17:56:42 · 2919 阅读 · 0 评论