网站首页 > 博客文章 正文
一、什么是线程
世间万物都可以同时完成很多工作。例如,人体可以同时进行呼吸、血液循环、思考问题等活动。用户既可以使用计算机听歌,也可以编写文档和发送邮件,而这些活动的完成可以同时进行。这种同时执行多个操作的“思想”在Java中被称为并发,而将并发完成的每一件事称为线程。
public class Test {
public static void main(String[] args) {
System.out.println("main主线程干的事......");
new Thread() {
@Override
public void run() {
System.out.println("另外一个线程干的事......");
}
}.start();
}
}
执行main方法相当于其实是启动一个jvm进程,jvm进程里,是有很多线程的,首先第一个线程,你能看到的线程就是main线程;
main线程就是负责执行你的main方法里的那些代码,比如说执行System.out.println这行代码,打印一些东西出来,只要你的线程执行完了这段代码之后,其实jvm进程也就退出了;
启动一个java的系统,通过执行一个main方法,java -jar这样的命令来启动,jvm进程,里面是有线程的,main线程,负责执行main方法里的代码,如果main线程执行完了以后,jvm进程默认就会直接退出;
二、什么是并发
- 在程序设计的角度,希望通过某些机制让计算机可以在一个时间段内,执行多个任务。
- 一个或多个物理 CPU 在多个程序之间多路复用,提高对计算机资源的利用率。
- 任务数多余 CPU 的核数,通过操作系统的任务调度算法,实现多个任务一起执行。
- 有多个线程在执行,计算机只有一个 CPU,不可能真正同时运行多个线程,操作系统只能把 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。
三、什么是多线程并发编程
用多线程来编程,实现复杂的系统功能,让多个线程同时运行,干各种事情,最终完成一套复杂系统需要干的所有的事;
四、为什么使用多线程?
- 更高的运行效率,——并行;
- 多线程是模块化的编程模型;
- 与进程相比,线程的创建和切换开销更小;
- 通信方便;
- 能简化程序的结构,便于理解和维护;更高的资源利用率。
猜你喜欢
- 2024-09-14 Java 并发基础之并发编程通识,掌握高效编程的关键
- 2024-09-14 死磕「并发编程」100天,全靠阿里大牛的这份最全「高并发套餐」
- 2024-09-14 Java高并发编程详解:深入理解并发核心库,文字可复制,高清PDF
- 2024-09-14 Java并发不止于编程更是艺术,阿里技术专家编写257页PDF,给我啃
- 2024-09-14 Java并发编程应该掌握的并发工具类,快来看看你掌握了哪些?
- 2024-09-14 spring源码解析、并发编程实战实践等深度进阶电子文档分享
- 2024-09-14 干货推荐|Java并发编程核心概念一览,面试必备
- 2024-09-14 高并发编程系列:全面剖析Java并发编程之AQS的核心实现
- 2024-09-14 JAVA并发编程(Java并发编程实战(中文版)pdf)
- 2024-09-14 "深度解析Java并发编程:线程实战篇,一文掌握多线程高效
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)