什么情况下急需创建线程

什么情况下需要创建线程?我不大清楚什么时候需要创建线程?什么时候需要创建进程?[解决办法]首先要了解线程

什么情况下需要创建线程?
我不大清楚什么时候需要创建线程?什么时候需要创建进程?
[解决办法]
首先要了解线程,进程的概念。
进程,是一个可执行程序的一次运行。
线程,是一个可执行程序的一条运行路径。
一个进程,可以同时有许多线程运行。


程序可以写一些代码,开一个线程执行。
但是开进程就不是那么简单了。

只能写一个程序,编译后供其他程序调用。

不过Unix ,linux 的进程和线程的界限很模糊。
在这种操作系统中,线程只是一个轻量级的进程。

线程没有独立的内存空间,进程有自己的独立空间。
进程是操作系统分配资源的单位,线程不是,线程只是独立运行的一段代码。

程序员对线程,有更多的控制权;
一个进程里面的所有线程,代码都是程序员编写的;
线程之间如何协调工作,都是程序员可以控制的。

对进程,操作系统可以控制的更多,而程序员能够控制的很少。
进程是线程的容器。

多进程,每一个进程,都需要一份资源,多线程,可以共享这些资源。











[解决办法]
一个大型程序,才需要多进程。
进程,是程序的一次运行而已,能够编写的是程序
一般程序,多线程做够了。
[解决办法]
当某一工作将消耗很长时间 为了不阻塞主线程 会采用线程  运行一个可执行程序就是创建一个进程
[解决办法]
例如有界面操作和数据操作,如果数据量大,处理很慢就可以用多线程,否则操作界面可能响应很慢。
[解决办法]
比如调用阻塞IO函数未返回前想同时干点其它事情的时候。
[解决办法]
线程比进程更容易共享资源, 更容易相互通讯。 进程更容易隔离错误,更容易横向扩展。