multithreading - 进程和线程有什么区别?

标签 multithreading process operating-system

进程和线程之间有什么技术区别?

我感觉像“进程”这样的词被过度使用了,而且还有硬件和软件线程。像 Erlang 这样的语言中的轻量级进程怎么样? ?是否有明确的理由使用一个术语而不是另一个术语?

最佳答案

进程和线程都是独立的执行序列。典型的区别在于(同一进程的)线程在共享内存空间中运行,而进程在单独的内存空间中运行。

我不确定您可能指的是什么“硬件”线程和“软件”线程。线程是一种操作环境功能,而不是 CPU 功能(尽管 CPU 通常具有使线程高效的操作)。

Erlang 使用术语“进程”,因为它不公开共享内存多道程序设计模型。称它们为“线程”意味着它们具有共享内存。

关于multithreading - 进程和线程有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56287726/

相关文章:

c++ - iPhone : starting an NSThread from a C++ object

C++ 线程错误 : no type named type

c - 拦截来自操作系统的输入

c# - 如何同时运行 4 个进程?

Python:访问外部进程信息

python - 如何使用 Python 在挂载之间 move 文件?

Windows "Handle Invalid"上的 Python 将标准输出重定向到文件时

c++ - 插入双映射的线程

java - LinkedHashMap 的这个包装线程安全吗?如果不是,它怎么能成为线程安全的呢?

c++ - 杀死父进程时杀死所有子进程