多线程基本概念

基本概念

  1. 进程 (Process):一个程序运行起来时在内存中开辟一段空间用来运行程序,这段空间包括 heap、stack、data segment 和 code segment。例如,开一个 QQ 就表明开了一个 QQ 进程。

  1. 线程 (Thread):每一个进程中都至少有一个线程。线程是指程序中代码运行时的运行路径,一个线程表示一条路径。例如 QQ 进程中,发送消息、接收消息、接收文件、发送文件等各种独立的功能都需要一个线程来执行。

  1. 进程和线程的区别:
    • 从资源的角度来考虑,进程主要考虑的是 CPU 和内存,而线程主要考虑的是 CPU 的调度,某进程中的各线程之间可以共享这个进程的很多资源。
    • 从粒度粗细来考虑,进程的粒度较粗,进程上下文切换时消耗的 CPU 资源较多。线程的粒度要小的多,虽然线程也会切换,但因为共享进程的上下文,相比进程上下文切换而言,同进程内的线程切换时消耗的资源要小的多的多。
    • 在 JAVA 中,除了 java 运行时启动的 JVM 是一个进程,其他所有任务都以线程的方式执行,也就是说 java 应用程序是单进程的,甚至可以说没有进程的概念。

  1. 线程组 (ThreadGroup):线程组提供了一些批量管理线程的方法,因此通过将线程加入到线程组中,可以更方便地管理这些线程。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值