声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
线程:
介绍:管线程叫多任务处理,首先你得知道什么是进程,你才知道什么是线程,进程就是操作系统上的多任务处理,比如说一个操作系统上的一个程序就叫做进程,不管是什么系统都是支持多程序运行,如下图那些小方块就是程序,跟我的平台进行沟通,平台下的硬件最大的是由CPU为计算单元,内存是数据存储单元,操作系统上开了很多个进程就是开了很多个程序,每个进程完成一个任务
如下图:电脑的桌面也是个软件,叫做windows资源管理器,如果你把它关掉,桌面就没有了,如果你要加载起来就新建一个explorer
每个进程都有权利申请自己的内存使用,每个进程都是由CPU执行相应的命令的
进程总结:
每个进程的内存不可以互相访问,都是独立的一个进程就是一个程序,开辟独有资源一个系统是由多个进程组成,每个进程完成的事情不一样
线程总结:如下图:系统上的多任务叫进程,进程上的多任务叫线程
如下图:使用线程,就是可以共享一个任务的内存来执行多任务处理,如果拿进程来做多任务那就太费事了,因为资源没办法共享的,java一运行的时候那个虚拟机就是进程,虚拟机打开就是很多个线程,其中有一个线程去运行我们的main方法,如果main还想固多个线程的话也是可以的
线程的应用:很多人来访问你这个入口,那这个访问量就大了,如果你这边还是单一线程的话,你得一个一个执行,如果每一个人执行需要耗去2秒钟,执行到最后一个人的时候那就需要10秒钟才行了,那就效率很低了,如果是多线程的话你来一个访问者,我创建一个线程为你服务,你来十个我就给你创建十个线程
如何查看应用的线程数量,打开任务管理器,打开资源监视器,在概述里可以查看多少个线程数
Thread.currentThread() 获取当前运行此方法的线程,获得当前线程能把杀掉,那样你的那个字样就没有了,如果中途有人掐掉,那控制台报出来的就是1 正常运行那就是0
得到线程的名字,得到线程的编号
Thread.sleep() 睡眠,毫秒为单位,它是一个静态方法,不能哪一个对象去调用sleep,因为它是休眠当前运行的线程