进程与线程
来源:互联网 发布:合肥瑶海公园知乎 编辑:程序博客网 时间:2024/05/22 12:36
进程表现为单一程序的执行过程,而线程表现为在运行某一程序的某一进程内,独立并发地执行关联。
任何两个单独的进程都拥有它们自己的独立地址空间,尽管他们有时利用共享内在来共用虚拟内在中的某些内容。同一进程的两个线程共享相同的地址空间,而不是相似的地址空间。因为线程都在同一地址空间运行,一旦某一线程对虚拟空间做任何改变,其它线程会马上发现。
线程可以做为进程的对象来实现或者可以作为一个完全独立的实体。不能是内核中实现,线程只有在内核提供的时钟中断帮助下,通过应用程序或者程序库才能实现
linux中,线程不过是一个能与其父进程共享相同地址空间的新进程。进程和线程的区别在于通过系统调用clone创建线程。由fork创建的新进程拥有它自己全新的进程关联环境。而clone创建的新进程则有它自己的标识符但允许共享其父进程的数据结构。
代码允许共享数据,但不允许并行访问。
时钟中断并不会导致进程的重新调试,只是请求稍后执行重新调试,任何输入的中断都不会影响非中断内核代码的执行顺序。
Linux2.0内核是第一个支持对称多处理机硬件的内核。进程与线程可以在各个处理器上并行运行。为保护内核的非抢占式同步要求,必须在内核中对SMP的实现加以限制:同一时间只允许一个处理器执行内核模式的代码。SMP使用自旋锁实现上述限制。自旋锁不会引起计算限制任务之类的问题,但是频繁使用内核的任务将严重地成为系统瓶颈。
目前信号处理、中断和一些I/O程序使用多重锁从而允许多处理器同时运行内核代码。
- 进程与线程线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 进程与线程
- 线程与进程
- 线程与进程
- 进程与线程
- 进程与线程
- 线程与进程
- 进程与线程
- Verilog的模块与端口 语法
- linux下Redis的安装与配置
- Android 关于JSON介绍
- UVa OJ 10258 - Contest Scoreboard
- 数据缓存系统-memcached介绍
- 进程与线程
- Gnuplot 作图
- iPhone摄像头设备获取(分离简化版)
- 使用动态SQL语句 创建数据库
- 伸出双手,想要挽留,抓住的只是你唯美的借口
- Javascript跳转页面和打开新窗口等方法
- kaggle competition 之 Titanic: Machine Learning from Disaster
- JavaScript中的Node(节点)
- AFX_MANAGE_STATE(AfxGetStaticModuleState());