进程和线程之间的技术区别是什么?
我觉得'process‘这个词被过度使用了,还有一些硬件和软件线程。用像二郎这样的语言来处理轻量级的进程怎么样?是否有明确的理由使用一个词而不是另一个术语?
发布于 2008-10-14 09:15:58
进程和线程都是独立的执行序列。典型的区别是线程(相同进程)在共享内存空间中运行,而进程在单独的内存空间中运行。
我不知道您所指的“硬件”与“软件”线程是什么。线程是一种操作环境特性,而不是CPU特性(尽管CPU通常具有使线程高效的操作)。
Erlang使用"process“一词是因为它不公开共享内存的多编程模型。将它们称为“线程”将意味着它们具有共享内存。
发布于 2008-10-14 09:43:50
此信息可在Microsoft的“学习”中找到:关于进程和线程
过程 每个进程提供执行程序所需的资源。进程具有虚拟地址空间、可执行代码、打开系统对象句柄、安全上下文、唯一进程标识符、环境变量、优先级类、最小和最大工作集大小以及至少一个执行线程。每个进程由一个线程启动,通常称为主线程,但可以从它的任何线程创建额外的线程。 线程 线程是进程中可以调度执行的实体。进程的所有线程共享其虚拟地址空间和系统资源。此外,每个线程维护异常处理程序、调度优先级、线程本地存储、唯一的线程标识符,以及系统将用于保存线程上下文直到其被调度的一组结构。线程上下文包括线程的机器寄存器集、内核堆栈、线程环境块和线程进程地址空间中的用户堆栈。线程也可以有自己的安全上下文,可以用来模拟客户端。 Microsoft Windows支持先发制人的多任务处理,这会产生同时从多个进程执行多个线程的效果。在多处理器计算机上,系统可以同时执行计算机上有处理器的线程。
发布于 2010-03-19 14:17:23
我从知识探索!博客复制了这个信息
过程:
线程:
https://stackoverflow.com/questions/200469
复制相似问题