Linux到底有没有线程之我见
来源:互联网 发布:英雄联盟mac版怎么装 编辑:程序博客网 时间:2024/04/30 05:10
最近开始转向Linux开发,需要用到多线程。上网一查,有的人说Linux没有线程只有进程,有的人说Linux当然有线程,没有线程pthread库是干吗的?NPTL又是干嘛用?
个人觉得,要看从哪个角度来看这个问题。对于一般应用软件开发人员的角度来看,既然能用pthread库来创建线程,以及可以处理线程间的通信,当然可以认为在Linux中线程肯定是存在的。
从目前Linux内核实现的角度来看,Linux当前应该还是采用的一对一模型,创建一个用户态空间的线程,在内核中会通过一个轻量级的进程来管理,线程调度相当于进程调度。当前Linux内核中,无论是创建一个线程还是一个进程都是会调用clone()系统调用,只不过是参数不同,创建线程的话clone()的参数是(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND),其中CLONE_VM也指定了核心态空间中,此轻量级进程(即线程)和父进程共享地址空间,因此这个线程才可以访问父进程的地址空间。
因此,Linux和Windows的线程虽然实现不一样,但是应该可以大胆的说Linux是存在线程的,只是Linux的实现方式和Windows的不一样。至于说Linux的线程就是轻量级进程那只是从核心态空间的层面来看。
- Linux到底有没有线程之我见
- Linux到底有没有线程
- "没有银弹"之我见
- 到底有没有救世主??
- 操作系统之我见-线程
- Linux群雄之我见
- windows linux之我见
- LINUX 信号之我见
- linux之我见
- Linux之我见
- javascript中的线程之我见
- javascript中的线程之我见
- 线程和进程之我见
- paip.编程语言到底有没有优劣之分优秀之分
- 中国到底有没有symbian高手?
- 测试,Managed DirectX到底有没有希望
- c.k到底有没有死
- 龙芯到底有没有侵权MIPS?
- #define的总结与比较~~替换原则
- 华为和外企的工资赤裸裸对比 真是一目了然啊
- 跪求一个木马生成器要零点的 谢谢!~
- gridview hyperlinkfiled 超级链接
- C语言接口与实现-创建可重用软件的技术 (笔记10)
- Linux到底有没有线程之我见
- 最难说的几个字
- 成都2009冬季人才洽谈会现场播报(组图)
- Java新手入门很重要的几个基本概念
- 由网络游戏产生的关于大学生选择方向的思索!
- Oracle小知识
- C++,我该何去何从?
- 控制台滚动字幕
- 在VMWare上运行VOD系统