Java多线程:(一)基本概念



桐花万里丹山路,雏凤清于老凤声。

1.线程与进程的关系
进程是一个执行中的程序,线程是进程中的一个指令流(控制流程)
线程存在于进程中,就是说:
a.线程不能独立运行
b.线程使用的是系统分配给进程的资源

2.线程与进程的区别

a.多个进程的内部数据和状态都是完全独立的,而一个进程中多个线程会相互影响.具体说:
从java内存模型的角度看,java内存中包括(粗略)程序计数器、栈、堆、方法区。
其中程序计数器、栈是线程私有的。堆、方法区是线程共享的。
程序计数器负责记录每条语句执行的数序。
栈主要存储局部变量表、操作栈、动态链接、方法出口等信息。
堆主要存储对象和数组。
方法区存储类的元数据(class文件中信息)
其中的意义后续详述。


b.线程是轻量级的,进程是重量级的。
多线程程序比多进程程序消耗的资源少,因为多一个线程只需占用进程内的一部分资源;多一个进程需要系统重新为进程分配资源空间。

线程间通信比进程间通信更方便、成本更低。

3.多线程的意义
提高效率:
多核CPU可以同时运行多个线程,最大化利用系统资源。

灵活控制程序:
把一些异步的流程,通过一些线程的组织,在一个进程中完成。
站在进程的角度,达到了同步化。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值