ErCargo's Coffee Time

以大多数人的努力程度之低,根本轮不到拼天赋

Action Conquers Fear, Impetuous, Indolence and so on. (行动能够克服一切恐惧,浮躁,懒惰)


Welcome to star and fork my github

多线程

进程和线程的区别

抽象答案:进程是资源分配的最小单位, 线程是 CPU 调度的最小单位

如何组织语言能够描述清楚呢?

  • 一个进程可以包含多个线程
  • 进程间难以数据共享, 但是同一进程下的不同线程是可以进行数据共享的;
  • 进程比线程消耗更多的 CPU 资源;
  • 进程与进程之间的运行不会相互影响, 但是线程之间会相互影响;
  • 一个线程使用共享内存时,其他线程必须等待他结束,才能使用这块区域(互斥锁)
  • 进程使用的内存地址可以限定使用量(信号量)

……

最近的文章

多线程之 ThreadLocal

Pre talk ThreadLocal 是什么?解决了什么问题? ThreadLocal 源码分析及实现原理 ThreadLocal 内存泄漏问题 InheritableThreadLocal 的实现原理Pre talk线程封闭技术访问共享可变数据时,通常需要使用同步,同步会产生性能问题,如何避免使用同步的方式来保证线程安全问题 – 不共享数据, 如何保证数据不共享呢?如果仅仅是在单线程内访问数据,就不会存在数据共享的问题,也就不需要数据同步。 (线程封闭: Thread C...…

继续阅读
更早的文章

聊聊 GC

– Java 垃圾回收机制– 常见的垃圾收集器– Java 中的各种引用Java 垃圾回收机制对象什么情况下被看作是垃圾?对象不被任何其他对象引用时,就可以被认为是垃圾对象,就可以被内存回收如何判断对象是否为垃圾? 引用计数算法 判断对象的引用数量来决定是否可以被回收,引用计数器为 0 时就可以被回收; 但是不可避免循环引用的问题; 可达性分析算法(主流的 JVM 使用的算法) 判断对象的引用链是否可达, 来决定队形是否...…

继续阅读