多线程基本概念

本文介绍了多线程的基本概念,包括进程、线程和线程组。阐述了进程与线程的区别,线程状态及管理,线程同步与死锁问题,以及Java中的线程调度算法。此外,讨论了ThreadLocal的作用,并提及了线程相关的方法如isAlive(), start(), join(), sleep()等,以及Object类和java.util.concurrent.locks包中的线程同步方法。" 46754085,2093269,SQL注入:万能密码详解与实例,"['sql注入', 'asp', 'aspx', 'php', 'jsp']
摘要由CSDN通过智能技术生成

基本概念

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

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

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员世杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值