关于并发

并发和并行:

并发是指在一段时间内宏观上有多个程序同时运行,但实际上每个程序只是在CPU分配的时间片内运行,每一时刻也只能由一道程序执行。
并行是指两个或多个时间在同一时刻 发生,只有在多CPU环境才有可能发生。

java多线程

通常在开发中结合ExecutorService使用,将任务的提交与执行解耦开,同时也更好地利用Executor提供的各种特性

  1. 继承Thread类,重写run()方法,在run()方法里编写我们要做的事情,调用start()方法启动线程
  2. 实现Runnable接口,实现run()方法,在run()方法里编写我们要做的事情,调用start()方法启动线程.
  3. 实现Callable接口,Callable是泛型参数接口,并能返回线程的执行结果,当有异常时抛出异常

总结

相对于继承Thread类来创建线程,使用Runnable可以让实现类同时实现多个接口(java单继承特性),相对于Callable及Future,Runnable方法并不返回任务执行结果也不能抛出异常

你可能感兴趣的:(关于并发)