
Linux应用开发
文章平均质量分 78
Allen不会Crossover
求知若渴,虚心若愚
展开
-
互斥锁&属性
本篇我记录一下自己学习互斥锁的成果。线程同步的概述: 当线程A在对一个共享资源执行写操作时,如果此时线程B恰好也对这个共享资源执行写操作,那么在进程中就会出现两个线程同时对这个共享资源进行写操作,会出现什么结果呢?当然是会破坏我们写入的数据,造成不可预计的错误。 而使用互斥锁(mutex)就正好可以解决这一问题,当线程A在操作(读/写)共享资源时,对其进行加锁,此时如果线程原创 2018-01-14 15:26:06 · 741 阅读 · 0 评论 -
Linux线程和进程的区别
我们创建进程一次只能做一件事,如果想要同时做几件事,我们就得创建多进程,但是多进程之间的相互沟通是比较麻烦的,比如内存共享,描述符共享,互斥与同步等等而且在效率上也不如线程快捷。在有了多线程以后,我们就可以在同一个进程中做多件事情。进程又被认为是执行中的程序;而线程是轻量级的进程。线程的资源:一个进程中的大部分信息对该进程的所有线程都是共享的; 可执行程序的代码;程原创 2018-01-07 15:24:41 · 364 阅读 · 0 评论 -
Linux 线程的分离与结合
在开始线程部分内容前,我想还是先把这个概念抛出来,否则在开始《线程的创建&属性》中会有部分内容不太清楚。原理简述:在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程回收其资源和杀死,在被其他线程回收之前,他的存储器资源是不释放的;一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自原创 2018-01-07 15:26:11 · 307 阅读 · 0 评论 -
线程的创建&属性
注:笔者这些文档多出自APUE这本书,旨在督促自己坚持学习,其中没有给出实际的编码例子,是因为本身快速学习的原则,即“花20%的时间掌握80%的内容”,具体的实战会在后续网络编程中一一体现。个人觉得学习编程最佳的路径是在解决问题中掌握知识点。因此线程这几篇都只会讲述个人理解的基础概念。线程创建的相关函数:1. int pthread_create(pthread_t*thread,原创 2018-01-07 17:53:16 · 349 阅读 · 0 评论