您的位置:首页 > 新闻 > 资讯 > 上海比较好的服装外贸公司_大连app制作_外包推广服务_企业网络营销方案

上海比较好的服装外贸公司_大连app制作_外包推广服务_企业网络营销方案

2025/4/19 16:01:27 来源:https://blog.csdn.net/m0_54712443/article/details/121107100  浏览:    关键词:上海比较好的服装外贸公司_大连app制作_外包推广服务_企业网络营销方案
上海比较好的服装外贸公司_大连app制作_外包推广服务_企业网络营销方案

强引用:强引用GC不会回收
软引用:内存够的话不回收,内存不够的话回收
弱引用:不管内存够不够,只要有GC就回收
虚引用:点get是null,但是GC后他会把引用放到引用队列里边
自旋锁:是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环会消耗CPU。

public class SpinLockDemo {//原子引用线程AtomicReference<Thread> atomicReference=new AtomicReference<>();public static void main(String[] args) throws InterruptedException {SpinLockDemo spinLockDemo=new SpinLockDemo();new Thread(()->{spinLockDemo.myLock();try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {e.printStackTrace();}spinLockDemo.myUnLock();},"aa").start();new Thread(()->{spinLockDemo.myLock();try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {e.printStackTrace();}spinLockDemo.myUnLock();},"bb").start();}public void myLock(){Thread thread=Thread.currentThread();System.out.println(Thread.currentThread());while (!atomicReference.compareAndSet(null,thread)){}}public void myUnLock(){Thread thread=Thread.currentThread();atomicReference.compareAndSet(thread,null);System.out.println(Thread.currentThread());}
}

读锁是共享的不互斥,写锁是互斥的独占的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com