MySQL 学习之进程与线程的区别
2013-01-14 22:37
351 查看
每个进程包含一个执行程序和一个资源集,比如文件映射和地址空间,与给定的任务相关的所有线程共享任务的资源。因此,一个线程本质是一个程序计数器,一个堆栈和寄存器集合,所有其他数据结构都属于任务。一个进程就像一个带有单个线程的任务一样有效地执行操作。一个进程就像一个带有单个线程的任务一样有效地执行操作。
线程是一个拥有自己的堆栈和执行一个给定代码段的小型进程。一个线程正常情况下与其他线程共享内存,而真正的进程总是要为每一个进程分配一个不同的内存区域。线程组是在内部执行同一个进程的所有线程的一个集合。它们共享相同的内存,因此可以访问相同的全局变量、相同的堆内存、相同的文件描述聚合等。当在单个处理器上运行时,一个线程组中的所有线程通过使用时间片执行操作,如果多个处理器可用时,则可并行执行操作。
使用一个线程组比使用一个进程组的优势是线程之间的语境转换要比进程之间的语境转换快得多。换句话说,系统从一个线程转换到另一个线程要比从一个进程转换到另一个进程快得多。两个线程之间的通信要比两个进程之间的通信快速而且易于实现,因为线程总是共享共同地址空间中的共享变量。
线程是一个拥有自己的堆栈和执行一个给定代码段的小型进程。一个线程正常情况下与其他线程共享内存,而真正的进程总是要为每一个进程分配一个不同的内存区域。线程组是在内部执行同一个进程的所有线程的一个集合。它们共享相同的内存,因此可以访问相同的全局变量、相同的堆内存、相同的文件描述聚合等。当在单个处理器上运行时,一个线程组中的所有线程通过使用时间片执行操作,如果多个处理器可用时,则可并行执行操作。
使用一个线程组比使用一个进程组的优势是线程之间的语境转换要比进程之间的语境转换快得多。换句话说,系统从一个线程转换到另一个线程要比从一个进程转换到另一个进程快得多。两个线程之间的通信要比两个进程之间的通信快速而且易于实现,因为线程总是共享共同地址空间中的共享变量。
相关文章推荐
- 黑马程序员之c#学习笔记:描述线程与进程的区别?
- 黑马程序员之C# 学习笔记:进程,线程具体定义区别。
- Java多线程学习总结——线程与进程的概念、区别与联系
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 学习笔记--进程及线程间通信方式的区别及联系
- 多线程 学习笔记<4> 进程与线程的区别联系
- java学习初探十八之线程和进程的区别
- JAVA学习笔记49——线程概念+进程、线程区别+创建进程三种方法
- 今天学习了JAVA程序、线程、进程的区别
- 操作系统学习笔记——进程与线程联系与区别
- 学习笔记——进程和线程的区别
- 学习笔记--进程与线程的区别及联系
- VC++学习之进程和线程的区别
- 进程和线程的联系和区别
- java并发-多线程之线程和进程的区别(1)
- 进程和线程的区别
- 进程和线程的区别
- 进程与线程的区别
- 操作系统学习——进程中的线程
- Java基础学习----不同种创建线程的区别