创建线程方式

  • 继承Thread类
    • 缺点:无法再继承其他类;无返回结果
  • 实现Runable接口
    • 缺点:无返回结果
  • 采用FutureTask
    • 有返回结果
  1. {
  2. Node<E> h = null, t = null;
  3. for (E e : c) {
  4. checkNotNull(e);
  5. Node<E> newNode = new Node<E>(e);
  6. if (h == null)
  7. h = t = newNode;
  8. else {
  9. t.lazySetNext(newNode);
  10. t = newNode;
  11. }
  12. }
  13. if (h == null)
  14. h = t = new Node<E>(null);
  15. head = h;
  16. tail = t;
  17. }