JavaEE Note程序员

线程和进程的区别

2017-11-23  本文已影响16人  chcvn

简单的来说

而他们的区别在于:

每个独立的线程有一个程序运行入口,顺序执行序列和程序的出口.
但是线程不能够独立运行,必须是依赖程序,由程序提供多个个线程的执行控制!
从逻辑上看,多线程的意义在于一个程序中,有多个执行部分可以同时执行.但操作系统并没有将多个线程看做多个独立的应用,来实现进程的管理和资源分配,这是最重要的区别,也是最大的不同.

为什么这么说列?

* 进程,是一个具有独立功能的程序,关于某个数据集合上的一次远行活动,进程是系统进行资源分配和管理的独立单位.
* 线程是进程的一个实体,是cpu在调度和分配的基本单位.
* 线程自己基本上不拥有系统的资源,它只是有一些运行必不可少的资源�但是它可以与同一进程中的其他线程共享进程所拥有的全部资源

!! 这同时也是 多线程的安全问题
因为多个线程同时访问同一个数据,而现在的cpu 主频,最低的也是1GHz吧, 也就是说 cpu 高达每秒几十亿的计算,你同一条数据,在 几个线程中,以几十亿的概率被几个线程同时访问,不出现安全性才怪!
(如何解决此问题:把线程死锁就可以有效的避免,数据重复读取的问题了)

然后,创建线程有哪些方式?

思维导图如下:

enter description hereenter description here
上一篇下一篇

猜你喜欢

热点阅读