![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 97
七天晒网
飛 べ
展开
-
并发的学习
@TOC 并发是为了提高运行在单处理器上的程序的性能。 上下文切换是指从当前线程切换到下一个线程时要保存当前线程的状态 阻塞:程序中的某个任务因为某种条件(比如等待I/O资源)而不能继续执行 当main()创建Thread对象时,并没有捕获任何对这些对象的引用,使用普通对象时,对于垃圾回收来说是公平的,但使用Thread时,每个Thread都“注册”了自己,因此确实有一个对它的引用,而且在它的任务退出其run()并死亡之前,垃圾回收器无法清除它。因此一个线程会创建一个独立的执行线程,在对其start()的调原创 2021-02-16 16:28:25 · 360 阅读 · 0 评论 -
并发之ThreadLocal的学习
ThreadLocal是为了管理线程本地存储存在的,线程本地存储是一种自动化机制,可以为使用相同变量的不同线程创建不同的存储。 static final ThreadLocal<T> sThreadLocal = new ThreadLocal<T>(); sThreadLocal.set() sThreadLocal.get() ThreadLocal的静态内部类ThreadLocalMap为每个Thread都维护了数组table,ThreadLocal确定了一个数组下标,这个下原创 2020-11-21 18:40:40 · 158 阅读 · 0 评论 -
synchronized的作用和用法
郁闷 参考: @synchronized的作用和用法 Java中Synchronized的使用 文章目录简单介绍用法实战实例修饰代码块修饰普通方法修饰静态方法 简单介绍 synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行 @synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改,保证代码的安全性。也就是包装这段代码是原子性的,安全的。 这个是objective-c的一个锁定令牌,防止self对原创 2020-07-18 16:40:26 · 3324 阅读 · 0 评论