多线程
进程&线程
进程是正在运行的程序
进程是可以独立运行的
进程有自己独立的内存空间,不予其他进程共享数据
一个进程可以有1~n个线程
线程是进程中的控制单元
线程是进程的中的一个“子任务执行者”
线程不能独立运行,必须依赖进程而运行
同一个进程中的多个线程是可以共享数据的
线程的作用
多线程提高了程序的执行效率,因为他可以让程序中·多个任务并发执行
JVM的主线程
JVM中有一个主线程,他的任务是执行main()方法
当程序运行时,JVM会为我们分派主线程
主线程的工作执行main()的方法的内容
但main()结束后,主线程结束
多线程第一列
编写多线程程序步骤分析
除了主线程(JVM提供)外其他线程都需要手动创建
多线程程序实现:
1:创建任务对象(Runnable 接口)
2:创建线程对象(Thread 线程类)
3:把任务交给线程(Thread<——Runnable)
4:启动线程(start()).
1:Runnable接口(任务接口)
他只要有个方法void run(),Runnable不是线程,他只是线程任务。
2:thread类(线程类)
可以把Thread理解为执行任务的(执行者),在创建Thread对象是我们需要把任务交给Thread对象
每个Thread对象必须与一个Runnable对象绑定,执行者对象与任务对象要绑定在一起
3:启动线程
创建了线程对象并不代表线程就开始执行任务了,想让线程开始执行任务还需要调用Thread类的start()方法启动线程,这是线程才真正开始“工作’
线程休眠
Thread类的静态方法,static void sleep(long)方法可以让当前线程休眠指定的毫秒,可以把他放到线程的任务中,无论1拿个线程执行到这行代码都会休眠“一会”。