Java多线程里创建线程池,提供哪些接口?说了个ThreadPoolExecutor........补充newCachedThreadPool 创建一个可缓存的线程池,如果线程池长度超过处理需求,可灵活回收空闲线程,若无可回收,则新建线程newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行newSingleThreadExecutor 创建一个单线程化的线程池,它只会唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO,LIFO,优先级)执行使用线程池的时候,最关心的是什么,线程池会导致内存溢出,怎么防止?创建一个无限队列,会出现内存溢出么,怎么解决?设置核心参数,设置线程数代码上做清除(答了些啥...)最大线程数100,在重复的加入任务,造成阻塞,一直加会导致内存溢出么,有什么方法防止一直加?答:排队策略,超过限制,被拒绝。超过线程池大小直接屏蔽么?........
解释下僵尸进程操作系统中,父进程创建了子进程之后,需要wait或者waitpid()方法观察子进程的状态。如果父进程不调用这两个方法,那么子进程保留的一些信息(进程号)就不会释放,如果操作系统中存在大量的僵尸进程,那么会导致最后操作系统没有进程号分配给新的进程平时有处理过僵尸进程吗?操作系统有学过,通过两次fork可以避免这种情况。具体不太记得了举个例子,如果系统中突然出现很多僵尸进程,应该怎么做?突然出现大量的僵尸进程,肯定是父进程有问题的。这种情况下直接kill掉父进程,使得僵尸进程变成孤儿进程,交由操作系统的init进程进行处理
volatile有哪些特性?volatile实际上是通过读写屏障实现的。读写屏障就有两个作用:缓冲失效和阻止指令重排序那通过双重判断实现一个单例模式吧这里面的volatile起到什么作用呢?
相关推荐