Java

程序,进程,线程

Program,静态
Process,动态,是前者的一次动态执行过程
Thread,进程中的一个独立的连续控制流程/执行路径,又称轻量级进程
线程的特点/优点:

  • 首先必须是并发执行,能提高CPU利用率
  • 其次因为一个进程中的所有线程共用的是一份内存,所以它们之间不需要额外的通信机制

多线程的实现

首先应该明确一点,线程执行的是任务,FutureTask

  • 自定义类实现Runnable接口. 运用了静态代理模式: Thread 类和自定义线程类都实现了 Runnable 接口; Thread类是代理 Proxy,自定义线程类是被代理类
  • 自定义类实现Thread接口. 相比前者代码量少,但受限于单继承;,即前者更加灵活
  • 自定义类实现Callable接口.
    Java中,由Future接口表示异步计算的结果,提供了一些方法以供了解任务执行情况; 最常见的: 不同对象调用get()方法会有不同结果,经尝试,第三种会返回call()的返回值,其他两种则为null

你可能感兴趣的:(java)