多线程
并发: 在一个时间段内,同时做事情
并行:多个事情同时做
举例:吃饭:一盘菜一筷子 : 并发
一口全部都得吃 :并行
进程和线程
进程:程序从硬盘加载到了内存,此时在内存中形成的 : 进程
线程:是程序最小的执行单元,就是一个个的方法
如何开启一个新的线程
1. 书写一个类,extends Thread
2.重写run方法
3.创建对象
4.调用start 方法,开启线程
线程的调度
1.程序的执行实际上是依赖于cpu
2.当有多个程序(多个线程执行时)
cpu 平均分配
cpu 抢占式 (java)
java中采用抢占式 : java多线程程序的执行--> 具有随机性
main
多线程的内存图解
每打开一个线程就新开辟了一个栈空间
如果采用以前的内存方式: 先进后出
线程的方法
getName() --> Thread 类中的方法
继承extends Thread
如果没有继承Thread 可以采用Thread类中的静态方法
Thread.currentThread().getName()
默认的线程名 Thread-0 Thread-1 从0 开始依次递增
设置名称方法
1. setName
2.构造方法
睡眠
1.sleep(毫秒值)
当毫秒值时间到达以后,自动唤醒 --> 接着干活
Runable(推荐使用)
1. 书写一个类,实现Runnable 接口
1. 重写其run 方法
1. new Thread(new 对应Runnable 接口 ) 拿到thread 对象,再start 此时线程就开启
|
|