多线程基础总结

1、实现

  继承Thread
  实现Runable

2、启动
  
  Thread.start(),线程的创建涉及操作系统的操作,因此是本地方法。启动线程的run方法将被执行。

3、常用方法
  
  休眠 Thread.sleep(long millis)
  让步 Thread.yield() 目的是让相同优先级的线程之间能适当的轮转执行
  优先级 Thread.setPriority(8)
  等待 Thread.join() 等待t线程结束后再往下执行
  中断 Thread.interrupt()

  等待 Thread.wait() 阻塞,线程通迅用到
  唤醒 Thread.notify() 唤醒单个线程
  唤醒 Thread.notifyAll()  唤醒所有线程

4、线程状态

  新状态 线程对象已经创建,还没有调用start()方法
  可运行 还没有把它选定为运行线程时线程所处的状态
  正运行 线程调度从可运行池中选择一个线程作为当前线程时线程所处的状态
  等阻睡 线程仍旧是活的,但是当前没有条件运行
  死亡态 当线程的run()方法完成时就认为它死去

5、同步
  
  volatile 变量对所有线程是立即可见的
  Synchrionized  可能产生死锁


  

猜你喜欢

转载自sky425509.iteye.com/blog/2259490