多线程
随缘121
这个作者很懒,什么都没留下…
展开
-
synchronized 与 Lock 的那点事
最近在做一个监控系统,该系统主要包括对数据实时分析和存储两个部分,由于并发量比较高,所以不可避免的使用到了一些并发的知识。为了实现这些要求,后台使用一个队列作为缓存,对于请求只管往缓存里写数据。同时启动一个线程监听该队列,检测到数据,立即请求调度线程,对数据进行处理。 具体的使用方案就是使用同步保证数据的正常,使用线程池提高效率。 同步的实现当然是采用锁了,java中使用锁的两个基转载 2016-02-19 08:55:40 · 655 阅读 · 0 评论 -
Java 多线程 并发编程
一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间转载 2016-02-19 15:13:52 · 532 阅读 · 0 评论 -
JAVA wait(), notify(),sleep详解
在CSDN开了博客后,一直也没在上面发布过文章,直到前一段时间与一位前辈的对话,才发现技术博客的重要,立志要把CSDN的博客建好。但一直没有找到好的开篇的主题,今天再看JAVA线程互斥、同步的时候又有了新的体会,就以他作为开篇吧。 在JAVA中,是没有类似于PV操作、进程互斥等相关的方法的。JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的sync转载 2016-03-15 17:37:16 · 343 阅读 · 0 评论 -
ReentrantLock实现原理
以下是本篇文章的大纲1 synchronized和lock1.1 synchronized的局限性1.2 Lock简介2 AQS3 lock()与unlock()实现原理3.1 基础知识3.2 内部结构3.3 NonfairSync3.3.1 lock() 3.3.2 unlock()3.3.3 小结3.4 Fai转载 2017-06-13 16:57:25 · 19158 阅读 · 8 评论