linux 进程 线程

进程

  1. 进程是表示==资源分配==的基本单位,进程有利于资源的管理和保护
  • 优点: 拥有独立的运行空间
  • 缺点:系统开销大,在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销.

线程

  1. 线程是进程中执行运算的最小单位,亦即执行处理机==调度==的基本单位
  2. 线程机制支持并发程序设计技术,在多处理器上能真正保证并行处理。而在linux实现线程很特别,linux把所有的线程都当作进程实现。linux下线程看起来就像普通进程(只是该进程和其他进程共享资源,如地址空间)
  3. Linux下不管是多线程编程还是多进程编程,最终都是用do_fork实现的多进程编程

线程的好处:

  1. 易于调度
  2. 提高并发性。通过线程可方便有效地实现并发性,进程可创建多个线程来执行同一个程序的不同部分。
  3. 开销少,在进程内创建、终止线程比创建、终止进程要快。同一进程内的线程间切换比进程间的切换要快,尤其是==用户级线程间==的切换。线程之间相互通信无须通过内核(同一进程内的线程共享内存和文件)
  4. 充分发挥多处理器的功能,通过多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使得每个处理器得到充分运行

进程与线程的关系

  • 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;
  • 独立性方面:进程有自己独立的地址空间,而线程没有,线程必须依赖于进程而存在
  • 资源共享方面:进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源
  • 资源分配给进程,统一进程的所有线程共享该进程的所有资源;
  • 线程在执行过程中,需要协作同步,==不同进程的线程==间要利用消息通信的办法实现同步;
  • 处理机分给线程,即真正在处理机上运行的是线程。
  • 一个说法:
    UNIX/linux环境,采用多线程没必要
    ==占用资源角度==:产生一个多进程时肯定是需要产生的一点内存用来复制进程表项,即一个task_struct结构,但这个结构本身做得相当小巧;对于多进程来说,代码段是肯定不用复制的,因为父进程和各子进程的代码段是相同的;数据段和堆栈段,通过copy-on-write,即写时拷贝技术,当子进程或父进程要改变变量x的值时就会复制该变量。

多线程优点
  • 无需跨进程边界;
  • 程序逻辑和控制方式简单;
  • 所有线程可以直接共享内存和变量等;
  • 线程方式消耗的总资源比进程方式好;
多线程缺点
  • 每个线程与主程序共用地址空间,受限于2GB地址空间;
  • 线程之间的同步和加锁控制比较麻烦;
  • 一个线程的崩溃可能影响到整个程序的稳定性;
  • 线程能够提高的总性能有限,而且线程多了之后,线程本身的调度也是一个麻烦事儿,需要消耗较多的CPU

多进程优点
  • 每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系;
  • 通过增加CPU,就可以容易扩充性能;
  • 可以==尽量减少线程加锁/解锁==的影响,极大提高性能,就算是线程运行的模块算法效率低也没关系;
  • 每个子进程都有2GB地址空间和相关资源,总体能够达到的性能上限非常大。
多进程缺点
  • 逻辑控制复杂,需要和主程序交互;
  • 需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算;
  • 多进程调度开销比较大;

内核线程和用户线程

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,083评论 0 23
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,876评论 3 34
  • 学生习作(王愉景) 秋天到了,小猴妈妈让小猴去果园摘一筐苹果,拿到市场上卖。小猴心想:如果我拿苹果去市场上卖就能收...
    zhihq阅读 737评论 0 0
  • 有的人一生下来就背负了父母的期望,连去尝试梦想的机会都没有,但是没有关系的,身不能至,心之所至。 她生长斯,长于斯...
    止于至善_e28c阅读 173评论 0 1
  • 今天早晨5:00起床了,为宝贝做南瓜馒头吃(昨晚发的面)起来一看,都开满盆了,可能昨晚发面发早了,幸...
    孙若菡妈妈阅读 141评论 0 0