线程和进程
又时候感觉在学习英语一样后,语法啊这些,那些地方该用,那些地方不该用,等等
活学活用吧,好快,感觉时间过得好快马上又是周四了。
线程的八个状态: 四个基本状态:新建, 就绪, 运行, 死亡。
运行:1.睡眠(sleep,自然醒),2.等待(wait ,被叫醒),3.挂起(yield, 让出当次cup的执行权),4.阻塞(IO,用户输入)
wait:通过notify唤醒,object的方法,只能用在同步方法和同步块中,自动释放锁。
sleep:自动唤醒,thread的方法,任何方法中使用,不会释放锁。
线程的创建:
Thread类中的两个最主要的方法:
(1)run()—包含线程运行时所执行的代码,即线程需要完成的任务,是线程执行体。
(2)start()—用于启动线程。
2、通过继承Thread类来创建并启动多线程的步骤:
(1)定义Thread类的子类,并覆盖该类的run()方法。
(2)创建Thread子类的实例,即创建线程对象。
(3)用线程对象的start()方法来启动该线程。
二、实现Runnable接口创建线程类
实现Runnable接口的类必须使用Thread类的实例才能创建线程。通过实现Runnable接口来创建并启动多线程的步骤:
(1)定义Runnable接口的实现类,并实现该接口的run()方法。
(2)创建Runnable实现类的实例,然后将该实例作为参数传入Thread类的构造方法来创建Thread对象。
(3)用线程对象的start()方法来启动该线程。