多线程与高并发
YhZhou1996
一只正在努力地菜鸟程序员!!!
展开
-
多线程与高并发--《Volatile、Cas、ReentrantLock、AQS下的部分类联合讲解》
一、volatile作用保证线程可见性:堆内存是所有线程共享里面的内存,除此之外,每个线程都有自己的专属区域,如果共享内存里有一个值,当我们线程要去访问这个值,会将这个值copy一份当自己的工作空间,对这个值进行改变。改完之后马上写回去,但什么时候去检查有没有新的值无法控制。加了volatile就可以保证线程里面发生的改变在线程之间是可见的。底层是采用了MESI缓存一致性协议。禁止指令重排序:cpu为了提升效率,执行一条指令会并发的执行,每次写都会被线程度读到,加了volatile,cpu就会按着顺序原创 2020-12-01 17:17:09 · 134 阅读 · 0 评论 -
多线程与高并发--《线程基本概念》
一、基本概念进程:硬盘有一个程序叫QQ.exe,这是一个程序,这个程序是一个静态概念,双击启动,登录进去,这叫一个进程。进程相对于程序来说是一个动态的概念。线程:作为一个进程里面最小的执行单元他就叫线程,一个程序里不同的执行路径就叫一个线程。二、创建线程几种方式new Thread().start();new Thread(Runnable).start();Executors.newCachedThreadPool();(或者FutureTask+Callable)三、线程的几种状态原创 2020-11-19 22:12:43 · 103 阅读 · 0 评论