【发布时间】:2014-03-02 03:52:48
【问题描述】:
我需要一些帮助来了解并发编程的基础知识。事实上,我读得越多,我就越感到困惑。 所以,我明白一个进程是一个程序的一个实例,它是按顺序执行的,它可以由一个或多个线程组成。在单核 CPU 中,一次只能执行一个线程,而在多核 CPU 中,可以同时运行多个线程。 现在的问题是:
1) 例如,四核 CPU 可以同时运行多少个线程和进程?同时只有四个线程?并且只有 1 个进程?
2) 并行性是否仅适用于线程而不适用于进程?例如,如果我在三核 CPU 上运行三个不同的应用程序(=进程),例如浏览器网络、文字处理器和计算器,它们是否可以只为每个应用程序使用一个内核并同时运行?
3) 在很多书籍中,你可以找到三种状态的解释:runnable、blocked和running。它们是指进程还是线程或两者兼而有之?我不明白。 谢谢你。
【问题讨论】:
-
1) 进程只是一个或多个线程的集合。对于四核来说,只有 4 个线程可以同时运行,与它们属于哪个进程无关。
标签: multithreading process multicore