在一个夜黑风高的夜晚,坐在教室里学多线程
多线程的理解:
首先唠会嗑啊,我们来说一说线程,跟进程的区别啊;
进程:cpu分配的一个实例,应用程序的执行实例,开启一个软件就相当于进程
线程:一个进程中不同的执行路径,进程中执行运算的最小单位,可以完成一个独立的顺序控制进程
那么多线程字理论字面意思呢就是:在一个进程中同时运行了多线程,用来完成不同的工作则称为多线程,
多线程的好处:充分的利用cpu资源 简化编程模型 给用户带来很好的体验
那么理论呢就唠这么多吧 !!!!!!
那么我们来讲讲 Thread类吧
讲讲他的属性吧!
1)start方法
start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。
2)run方法
run()方法是不需要用户来调用的,当通过start方法启动一个线程之后,当线程获得了CPU执行时间,便进入run方法体去执行具体的任务。注意,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务。
3)sleep方法
sleep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。
相信大家都快困了吧 !!!那么我来给大家写个代码实例吧!!!
public class TheradDame implements Runnable {@Overridepublic void run() {System.out.println("线程正在运行!!");try {Thread.sleep(500);System.out.println("线程死了!");} catch (InterruptedException e) {// TODO Auto-generated catch block e.printStackTrace();System.out.println("线程正在堵塞");}}public static void main(String[] args) {Thread t = new Thread(new TheradDame(),"t");System.out.println("线程正在新建");t.start();System.out.println("线程就绪状态");} }