摘要:先来看下ThreadPool的类结构 其中红色框住的是常用的接口和类(图片来自:https://blog.csdn.net/panweiwei1994/article/details/78617117?from=singlemessage) 为什么需要线程池呢?我们在创建线程的时候,一般使用new
阅读全文
摘要:1.继承Thread,重写run() 2.实现Runnable,重run() 3.实现Callable,重写call() 注意:Callable接口是一个参数化的类型,只有一个call方法,call返回类型是参数类型。 面试题:有线程A、B、C,A、B同时执行,A、B执行完毕之后,执行C 分析:考同
阅读全文
摘要:1、线程同步的目的是为了防止多个线程同时访问一个资源时对资源的破坏 2、线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的线程就无法再访问该对象的其他同步方法。 3、对于静态同步方法,锁是针对这个类的,锁对象是该类的Class对象
阅读全文
摘要:进程:是程序一次执行的实例,是系统分配资源的独立单位; 线程:是进程执行的流程,是CPU进行调度和分派的基本单位; 引入进程是为了解决程序不能并发执行的问题,也提高CPU利用率,但是进程之间的切换已经非常消耗资源了,所以引入线程是为了解决进程在切换时对系统资源的大量消耗的问题; 线程是轻型进程,线程
阅读全文