声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
线程:
介绍:管线程叫多任务处理,首先你得知道什么是进程,你才知道什么是线程,进程就是操作系统上的多任务处理,比如说一个操作系统上的一个程序就叫做进程,不管是什么系统都是支持多程序运行,如下图那些小方块就是程序,跟我的平台进行沟通,平台下的硬件最大的是由CPU为计算单元,内存是数据存储单元,操作系统上开了很多个进程就是开了很多个程序,每个进程完成一个任务
如下图:电脑的桌面也是个软件,叫做windows资源管理器,如果你把它关掉,桌面就没有了,如果你要加载起来就新建一个explorer
每个进程都有权利申请自己的内存使用,每个进程都是由CPU执行相应的命令的
进程总结:
- 每个进程的内存不可以互相访问,都是独立的
- 一个进程就是一个程序,开辟独有资源
- 一个系统是由多个进程组成,每个进程完成的事情不一样
线程总结:
如下图:系统上的多任务叫进程,进程上的多任务叫线程
如下图:使用线程,就是可以共享一个任务的内存来执行多任务处理,如果拿进程来做多任务那就太费事了,因为资源没办法共享的,java一运行的时候那个虚拟机就是进程,虚拟机打开就是很多个线程,其中有一个线程去运行我们的main方法,如果main还想固多个线程的话也是可以的
线程的应用:
很多人来访问你这个入口,那这个访问量就大了,如果你这边还是单一线程的话,你得一个一个执行,如果每一个人执行需要耗去2秒钟,执行到最后一个人的时候那就需要10秒钟才行了,那就效率很低了,如果是多线程的话你来一个访问者,我创建一个线程为你服务,你来十个我就给你创建十个线程
如何查看应用的线程数量,打开任务管理器,打开资源监视器,在概述里可以查看多少个线程数
Thread.currentThread() 获取当前运行此方法的线程,获得当前线程能把杀掉,那样你的那个字样就没有了,如果中途有人掐掉,那控制台报出来的就是1 正常运行那就是0
得到线程的名字,得到线程的编号
Thread.sleep() 睡眠,毫秒为单位,它是一个静态方法,不能哪一个对象去调用sleep,因为它是休眠当前运行的线程
相关推荐
JavaSE实战——GUIChat JavaSE(Java Standard Edition)是Java平台的标准版,主要用于桌面应用开发。在这个项目中,我们关注的是使用Java进行GUI(图形用户界面)开发,实现一个聊天应用程序。GUIChat是一个典型的...
在JavaSE实战项目中,客户端上传文件到服务端是一个常见的任务,这涉及到Java网络编程、文件操作以及TCP协议的理解和应用。在这个过程中,开发者需要掌握以下几个核心知识点: 1. **Java网络编程基础**:Java提供了...
### JavaSE教程——布小禅 #### 一、初始Java ##### 1. 了解Java Java是一种由Sun Microsystems公司(现已被Oracle收购)于1995年5月推出的高级程序设计语言,其最显著的特点是面向对象编程。作为一种用途广泛的...
java实现游戏——大鱼吃小鱼——巩固JavaSE知识 ———————————————————————— 在学习完JavaSE基础后有幸观看了马士兵老师的坦克大战教学视频,并打算沿着马老师的思路写一款小游戏来巩固JavaSE...
4. **并发编程实战案例——并发队列日志框架** - 在实际应用中,多线程常用于构建并发队列,例如,一个线程负责收集日志,其他线程负责处理和存储日志。这种设计可以实现日志的高效异步写入,提高系统性能。 多...
7. **多线程**:掌握线程的基本概念,创建线程的方式(实现Runnable接口和继承Thread类),线程同步机制(synchronized关键字、wait/notify机制、Lock接口等)。 8. **反射机制**:深入理解Java运行时动态加载类的...
JAVA的基本语法 第2章 对象无处不在——面向对象的基本概念 第3章 当一个变成多个——集合框架的基本概念 第4章 数据传送的管道——JAVAcI/O 第5章 如何走得更稳——测试驱动的基本概念 6章 三头六臂——线程和同步...
在这个“JavaSE结课项目——即时通讯”中,我们将深入探讨如何利用JavaSE技术构建一个实时通信系统,类似于QQ的即时通讯应用。 首先,项目的重点在于实现用户注册与登录的功能。在Java中,我们可以使用面向对象的...
**JavaSE阶段项目——香格里拉餐饮系统** 在Java编程学习中,JavaSE(Java Standard Edition)是基础,它提供了构建桌面应用的核心工具和技术。本项目“香格里拉餐饮系统”就是基于JavaSE阶段的一个实践应用,旨在...
第16章 多线程——Java中的并发协作 343 16.1 线程的基本知识 343 16.1.1 多线程编程的意义 343 16.1.2 定义自己的线程 344 16.1.3 创建线程对象 345 16.1.4 启动线程 347 16.1.5 同时使用多个线程 ...
【贪吃蛇源码(JavaSE)】是一个基于Java标准版(JavaSE)实现的经典游戏——贪吃蛇的源代码项目。这个项目采用Eclipse IDE进行开发,方便开发者下载后直接在Eclipse环境中运行和学习。以下是这个项目涉及的一些关键...
《JavaSE阶段学习项目——图书馆管理系统》 这个项目是针对Java初学者设计的,旨在帮助他们深入理解并应用JavaSE的基础知识。项目采用三层架构思想进行开发,这三层分别是表现层(Presentation Layer)、业务逻辑层...
《JavaSE深度解析——圣思园张龙老师讲义》 在编程的世界里,JavaSE作为基础,是每一位Java开发者必须掌握的核心技能。本讲义由知名讲师张龙老师精心编撰,涵盖了JavaSE的各个方面,旨在帮助学习者建立起坚实的Java...
### JavaSE核心编程知识点概述 #### 一、Java语言简介及历史背景 - **起源与发展**:Java语言最初由Sun Microsystems公司于1995年发布。它的开发始于1991年的Oak项目,旨在为家用电器等嵌入式设备提供编程支持。...
在大三上学期的JavaSE期中考试中,学生可能会面临一个实际的项目——汽车租赁系统。这个系统是基于Java编程语言实现的,主要目的是为了模拟真实的商业场景,让学生掌握JavaSE的基础知识并能将其应用到实际问题解决中...
第6章 三头六臂——线程和同步的基本概念 109 6.1 讲解 110 6.1.1 什么是线程 110 6.1.2 创建线程 110 6.1.3 线程的生命周期 112 6.1.4 线程的优先级 114 6.1.5 中断线程 115 6.1.6 线程组 116 6.1.7 处理未...
2. **面向对象**:Java是一种面向对象的语言,其三大特性——封装、继承和多态,在代码中会有清晰的体现。你可以学习如何创建类、对象,理解类与对象的关系,以及如何使用抽象类和接口。 3. **异常处理**:Java的...
Lambda表达式是函数式编程的一种体现,它使得编写简洁、易读的代码成为可能,特别是在处理集合和多线程时。通过Lambda表达式,我们可以将匿名函数作为参数传递给方法,或者将其存储在变量中,简化了之前需要创建接口...
10. **Swing和AWT**:JavaSE提供了两个图形用户界面(GUI)工具包——AWT(Abstract Window Toolkit)和Swing,用于构建桌面应用。虽然现代Java开发更多倾向于使用JavaFX,但理解Swing和AWT的基本组件和布局管理仍然...
“Java基础[05-多线程].ppt”会介绍如何在Java中创建和管理线程,包括线程的生命周期、同步控制(如synchronized关键字和wait/notify机制)以及线程池的使用。多线程编程是处理并发问题的关键,对于现代高性能计算至...