Java并发小结

                                                                           返回主页

一、简述并发特点

  1. 用并发解决的问题大体上可以分为:速度、设计可管理性
  2. 并发通常是提高运行在单处理器上的程序的性能
  3. Java的线程机制是抢占式的

二、定义任务

  1. 线程可以驱动任务
    描述任务的方式由Runnable接口提供,实现Runnable接口并编写run()方法
  2. 通常,run()方法被写成 无限循环形式,这就意味着,除非有某个条件使得run()终止,否则,其将一直运行下去
  3. Thread.yield()构造器
    调度是对线程调度器的一种建议,它在声明:可以将CPU从一个线程转移到另一个进程
  4. 从Runnable()导出一个类时,它必须具有run()方法,但是这个方法并无特殊之处,它不会产生任何内在的线程能力。要实现线程行为,你必须显式地将一个任务附着在线程上;

三、Thread类

  1. 将Runnable()对象转变为工作任务的传统方式是把它提交给一个Thread构造器
  2. Thread构造器只需要一个Runnable()对象,调用Thread对象的start()方法为该线程执行必需的初始化操作,然后调用Runnable的run()方法,以便在这个新线程中启动该任务。
  3. 任何线程可以启动另一个线程,不局限于main线程;
  4. 每个Thread都注册了自己,因此确实有一个对其的引用,而且,在它的任务退出其run()并死亡前,GC无法清除。

一个线程会创建一个单独的执行线程

在对start()的调用完成之后,它依旧会继续存在

四、关于优先级

优先级不会导致死锁

实现接口可以使得继承另一个不同的类,而从Thread继承将不行。