linux中线程的实现以及跟windows系统的比较
来源:互联网 发布:斯蒂芬马布里nba数据 编辑:程序博客网 时间:2024/06/06 08:36
1.在linux内核中(只说内核,即核心级线程的实现),它并不区分进程跟线程的区别,实际上,它都是将它们当做进程来实现的,通是通过fork,然后fork调用clone函数。内核级线程有自己的task_struct,自己的内核栈,相较于普通的进程,它只是没有自己的地址空间,而且它从来不会切换到用户空间去执行。内核级线程也是独立的调度单元。。这是linux内核级线程的实现。。linux核心级线程只能由其它核心线程创建,这意味着linux的用户不可以直接创建核心级线程来并行处理自己的程序。。。
另外再说linux pthread库实现的线程。简单来说,linux pthread创建的线程运行在用户空间,但它是内核支持线程(可以在/proc/pid/task目录下看到),它在内核中是有调度实体的,就是可以作为独立调度单元。它应该是有内核支持的线程,但它绝不是上面所说的内核线程,因为内核线程是操作系统创建的用于执行内核任务的,它是不会切换到用户空间执行的。注意这里的内核支持线程跟用户级线程的区别,用户级线程在内核并没有独立的调度实体。它在多处理机上是无法并行的,而linux pthread创建的线程,是支持多处理机上并行处理的。
2.在windows内核中,它是专门设计了支持内核线程的机制的。它在每个task_struct内,为每个内核级线程提供了tcb控制块,每个tcb用于描述自己的独立的资源,并且支持创建核心级线程来并行执行某一个进程的多个核心级线程。而且windows提供api可以将线程指定在某个处理机上运行。如此便可以达到并行处理。
0 0
- linux中线程的实现以及跟windows系统的比较
- 用linux系统跟windows的不同
- windows和linux下的线程比较
- Windows与Linux系统实现延迟的比较+Windows下实现微秒延迟
- 【C/C++】【Linux&Windows】Windows系统下的文件夹扫描与Linux系统下的实现比较
- Xshell简易实现Linux跟Windows的文件互传
- Windows下一个比较完美的线程池实现(更新)
- Windows下一个比较完美的线程池实现
- Windows下一个比较完美的线程池实现
- 【Linux系统编程】线程与进程的比较
- linux系统c++线程池的实现
- linux系统c线程池的实现
- C#中索引跟数组的比较
- java 中线程的实现方式的比较
- Linux系统与Windows操作系统的技术比较
- 查看linux系统的cpu个数线程数量以及型号
- linux的线程锁比较
- 总结:windows跟linux的一些对比
- windows7下添加 在当前目录打开Cygwin
- java 中的单元 ,二元,三元运算符
- linux命令:配置sudo
- c++第1次实验-3
- OpenCV 下载驿站(百度云盘下载,同步更新)
- linux中线程的实现以及跟windows系统的比较
- sftp
- oracle11g R2 grid和database卸载
- adt更新地址
- webrtc 的回声抵消(aec、aecm)算法简介
- PullableListView.canPullDown(PullableListView.java:33)----BUG
- 51nod 最长公共子序列问题
- 面试
- CSS布局中HTML标签元素分类