日常备忘记录

20190315:原子操作.
原子:本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。线程之间保证原子操作可以用循环CAS(Compare and Swap)的方式。

20190402:synchronized加到static静态方法上是给class类上锁,加到非静态方法上是给对象上锁。synchronized static 等同于 synchronized(xxx.class){ }

20190403:内存泄漏(memory leak)
内存泄漏指堆中分配了内存给他,但是由于某些原因该内存一直无法释放,长期占用。一般发生在C中,java中单例模式比较容易出现这个问题。

20190403:线程间通信
线程是操作系统中独立的个体,但这些 个体如果不经过特殊的处理,就不能成为一个整体,所以需要线程间通信。
每一个锁对象都有两个队列,一个是就绪队列,一个是阻塞队列。就绪队列存储了将要获得锁的线程,阻塞队列存储了被阻塞的线程。
wait()被执行后锁自动释放,notify()执行后锁却不会自动释放。

20190404:线程间join()
join()的作用是等待线程对象销毁,用途:使会提前结束的线程等待处理时间较长的线程。即主线程等待子线程执行完毕,在继续主线程执行。
join 与 synchronize 区别在于,join是内部使用wait()进行等待,synchronize 使用的是“对象监视器”原理作为同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值