Java多线程

158 阅读1分钟

一、建立线程 

 1.通过继承Thread类 

 2.通过实现Runnable接口 

区别 

 1.Runnable可以避免单继承缺陷;

 2.Runnable可被多个线程共享(Thread实例),适合于多个线程处理同一资源情况(卖火车票例子)

二、线程的停止

1.使用停止标志(用volatile关键字,可见性)

2.使用interrupt()方法(只是打了个标记,配合interrupted()或isInterrupted())

  • 用if(this.isInterrupted())判断,
  • 用sleep()期间中断会导致Isterrupt()被清除,抛异常

3.使用stop(),过期了。(用stop()释放锁会出现数据不一致)