摘要: 多线程概念 进程与线程 进程是操作系统进行资源分配的最小单位,CPU从一个进程切换到另一个进程叫做进程上下文切换。 线程是CPU调度的最小单位,是进程的一部分,由进程创建,一个进程拥有1~N个线程。线程又分为用户线程和守护线程,两者的区别是,后者会随着主线程结束而结束。 Thread线程类 继承th 阅读全文
posted @ 2020-04-07 21:51 名字可以起这么长 阅读(194) 评论(0) 推荐(0) 编辑
摘要: JAVA的锁优化 锁优化包含:自适应性自旋、锁消除、锁膨胀、轻量级锁、偏向锁。以下为锁的升级过程: 自旋锁与自适应自旋 JDK1.6之前自旋默认是关闭的,之后是默认开启的。自旋等待避免了线程状态转换带来的性能开销,但是需要占用处理器的时间,如果占用时间很短,效果很好,如果占用时间很长,会白白消耗处理 阅读全文
posted @ 2020-04-07 16:08 名字可以起这么长 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 线程安全 Java语言中,不可变的对象一定是线程安全的,无论是对象的方法实现还是方法的调用者,都不需要在进行任何线程安全的保障措施。 Java语言中,如果多线程共享的数据是一个基本数据类型,那么只要在定义时使用Final关键字修饰它就可以保证它是不可变的。如果共享的数据是一个对象,由于Java语言目 阅读全文
posted @ 2020-04-07 15:36 名字可以起这么长 阅读(157) 评论(0) 推荐(0) 编辑