多线程进阶研究

作者: SimpleWater | 来源:发表于2018-04-11 23:22 被阅读0次

1.volatile关键字

作用:主要使变量在多个线程之间可见

例如:共享变量a=0,此时有两个线程A,B同时来操作a,A线程将a从0改成10,B线程将a从0改到20,这两个过程是不可见的,即A,B线程各自不知道对方的改变。而volatile可以让彼此操作可见。

线程工作取值流程

volatile关键字虽然具备线程可见性,但是不具备原子性,算是一个轻量级的synchronized,性能要比synchronized强很多。

2.线程之间通信

wait、notify方法可以实现线程之间的通信

(1)wait和notify必须配合synchronized关键字使用

(2)wait方法会释放锁,而notify方法不释放锁

相关文章

  • 多线程进阶研究

    1.volatile关键字 作用:主要使变量在多个线程之间可见 例如:共享变量a=0,此时有两个线程A,B同时来操...

  • Swift多线程:GCD进阶,单例、信号量、任务组

    Swift多线程:GCD进阶,单例、信号量、任务组 Swift多线程:GCD进阶,单例、信号量、任务组

  • GeekBand - iOS 多线程和RunLoop 总结

    iOS 开发高级进阶 第三周 多线程 Runloop iOS 多线程以及 RunLoop 学习总结 基础知识 什么...

  • juc-Lock系列收藏

    Java多线程进阶(十一)—— J.U.C之locks框架:StampedLock

  • 第十四周笔记分享

    Android开发高级进阶 一、多线程 二、new Thread()和ThreadPoolExceutor的区别:...

  • 2018.05.13 杂谈

    《Java 并发编程实战》终于看完了,对于多线程有了一定的理解。多线程属于进阶技术。互联网行业充满了多线程和算...

  • 多线程进阶

    1.线程死锁问题 1) dispatch_sync(dispatch_get_main_queue(), ^{ ...

  • to be better(个人记录一些点)

    看见别人整理的可研究的专题:【进阶 1 期】 调用堆栈【进阶 2 期】 作用域闭包【进阶 3 期】 this 全面...

  • 多线程研究

    http://www.cnblogs.com/sunfrog/p/3305614.html GCD编程的核心就是d...

  • iOS之线程组实现页面刷新

    线程与线程组 线程是iOS开发进阶必经之路,不会多线程,那你一定不是一个合格的iOSer。 多线程基础看这里:关于...

网友评论

    本文标题:多线程进阶研究

    本文链接:https://www.haomeiwen.com/subject/ddozhftx.html