线程和进程

  又时候感觉在学习英语一样后,语法啊这些,那些地方该用,那些地方不该用,等等

  活学活用吧,好快,感觉时间过得好快马上又是周四了。

  线程的八个状态:    四个基本状态:新建, 就绪, 运行, 死亡。

  运行: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()方法来启动该线程。 

原文地址:https://www.cnblogs.com/syl1104/p/3714477.html