
多线程与高并发
qq_38375620
在不断前进的路上
展开
-
【多线程核心技术】---Thread线程
进程和线程:1)进程是静态的,其实就是指开启的一个程序;而线程是动态的,是真正执行的单元,执行的过程。其实我们平时看到的进程,是线程在执行着,因为线程是作为进程的一个单元存在的。2)同样作为基本的执行单元,线程是划分得比进程更小的执行单位。3)每个进程都有一段专用的内存区域。与此相反,线程却共享内存单元(包括代码和数据),通过共享的内存单元来实现数据交换、实时通信与必要的同步操作。创建线程的方式:...原创 2018-03-08 21:09:29 · 300 阅读 · 3 评论 -
【多线程核心技术】---synchronized
线程安全1:多个线程共同访问一个对象上的方法内部的私有变量(局部变量),方法中的变量不存在 非线程安全问题,永远是线程安全的。这是因为方法内部的变量是私有的特性造成的。实例变量非线程安全:2:多个线程共同访问一个对象的实例变量(成员变量),多个线程共同访问一个对象的中的同步方法时一定是线程安全的。 方法前加synchronized关键字3:多个线程访问多个锁: *两个线程分别访问同一个类(同一个...原创 2018-03-08 21:55:28 · 186 阅读 · 0 评论 -
【多线程核心技术】---synchronized同步代码块
synchronized声明方法的缺点 A线程调用同步方法执行一个长时间的任务,那么B线程则必须等待较长的时间。synchronized同步代码块 当一个线程访问Object的一个synchronized同步代码块时,另一个线程仍然可以访问该Object对象中的非synchronized(this)同步代码块。一半同步,一半异步 不在synchronized同步代码块中的就是异步执行...原创 2018-03-09 17:18:25 · 645 阅读 · 0 评论 -
【多线程核心技术】---线程通信
一:等待/通知机制 线程与线程之间不是独立的个体,它们之间可以互相通信和协作。 1: 不需要等待/通知机制实现线程间的通信: 2:等待/通知机制 多个线程之间可以实现通信,原因是多个线程共同访问同一个变量,但这种机制不是“等待/通知”,两个线程完全是主动地去读取一个共享变量,在花费读取时间的基础上,读到的值不是想要的,不能完全确定。所以需要一种“等待/通知”机制来满足需...原创 2018-03-17 18:06:15 · 202 阅读 · 0 评论 -
【多线程核心技术】---Lock的使用
一:ReentrantLock类 ReentrantLock类可以实现线程间同步互斥,嗅探锁定,多路分支通知等功能。 调用ReentrantLock对象的Lock()方法获取锁,调用UnLock()方法释放锁。使用Condition实现等待/通知: 使用Condition具有良好的灵活性,实现多路通知功能,也就是在一个Lock对象里面创建多个Condition(即对象监视器)实例...原创 2018-03-19 16:51:19 · 307 阅读 · 0 评论 -
【多线程核心技术】---拾遗增补
线程状态 new 至今尚未启动的线程处于这种状态 runnable 正在Java虚拟机中执行的线程处于这种状态 blocked 受阻塞并等待某个监视器锁的线程处于这种状态 waiting 无限期的等待另一个线程来执行某一特定操作的线程处于这种状态 timed waiting 等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态...原创 2018-04-22 21:39:22 · 198 阅读 · 0 评论 -
【多线程核心技术】---单例模式与多线程
立即加载/“饿汉模式” 立即加载就是在使用类的时候已经将对象创建完毕,常见的实现办法就是直接new实例化。立即加载/“饿汉模式” 延迟加载就是在调用get()方法时实例化才被创建,常见的实现方式就是在get()方法中进行new()实例化, 在多线程环境下会出现多个实例,不是单例模式了。 1)声明synchronized关键字 对getInstance()方法进行声明s...原创 2018-04-22 21:40:10 · 116 阅读 · 0 评论 -
线程通信
等待/通知机制 线程与线程之间不是独立的个体,它们之间可以互相通信和协作。 1: 不需要等待/通知机制实现线程间的通信: 2:等待/通知机制 多个线程之间可以实现通信,原因是多个线程共同访问同一个变量,但这种机制不是“等待/通知”,两个线程完全是主动地去读取一个共享变量,在花费读取时间的基础上,读到的值不是想要的,不能完全确定。所以需要一种“等待/通知”机制来满足需求。...原创 2018-04-22 21:42:51 · 126 阅读 · 0 评论