2020年3月5日

Java - final、finally、finalize 有什么区别?

摘要: 为什么不要通过finalize方法去释放资源? 当java只跑一个main方法,它背后也是在跑多线程。其中有一个守护线程就是Finalizer,是它去执行所有的finalize方法。 但是由于它是守护线程,因此当主线程(main线程)结束,守护线程也会结束,很可能没来得及执行finalize方法。 阅读全文

posted @ 2020-03-05 23:38 frank_cui 阅读(223) 评论(0) 推荐(0)

多线程 - 并行与并发

摘要: 总结 并行(parallelism),是同一时刻,两个线程都在执行。 并发(concurrency),是同一时刻,只有一个执行,但是一个时间段内,两个/多个线程都执行了。 并行 并发 阅读全文

posted @ 2020-03-05 22:01 frank_cui 阅读(576) 评论(0) 推荐(0)

多线程 - 多线程基础

摘要: CPU 内核数 与 线程数 的关系 一个CPU 内核只能跑一个线程 由于Intel公司引入的超线程技术,使得物理CPU内核和虚拟CPU内核存在一个1:2的关系拓展。 因此如下图,原本4个内核的电脑,同时只能跑4个线程;由于1:2关系,拓展为8个逻辑处理器,因此可以同时跑8个线程。 CPU 时间片轮转 阅读全文

posted @ 2020-03-05 22:00 frank_cui 阅读(188) 评论(0) 推荐(0)

多线程 - 应用程序、进程、线程的区别

摘要: 进程、线程的区别 定义区别 进程是操作系统进行资源分配(CPU, 内存空间,磁盘IO)和调度的一个独立单位; 线程是进程的一个实体, 是CPU调度和分派的最小单位 (操作系统不会为线程分配内存,线程组之间只能共享所属进程的资源) 独立性 进程间相互独立,都有独立的内存地址空间 同一个进程下的线程,可 阅读全文

posted @ 2020-03-05 21:36 frank_cui 阅读(397) 评论(0) 推荐(0)

导航

levels of contents