使用ReentrantLock和Condition来代替内置锁和wait(),notify(),notifyAll() ...
分类:
其他好文 时间:
2019-04-13 01:06:21
阅读次数:
166
阻塞队列和非阻塞队列阻塞队列和非阻塞队列的区别:阻塞队列可以自己阻塞,非阻塞队列不能自己阻塞,只能使用队列wait(),notify()进行队列消息传送。而阻塞队列当队列里面没有值时,会阻塞直到有值输入。输入也一样,当队列满的时候,会阻塞,直到队列不为空。阻塞队列不需要synchronized,或者 ...
分类:
其他好文 时间:
2019-04-12 13:25:20
阅读次数:
102
准备: 1、A-centos(192.168.6.177) 端口为9898的服务 2、B-ubuntu(192.168.6.182) 端口为9898的服务 3、keepalived安装包https://www.keepalived.org/software/keepalived-1.4.0.tar. ...
分类:
其他好文 时间:
2019-04-11 19:22:40
阅读次数:
160
实现线程间通讯的方式: 1、共享变量实现 1.1 利用基synchronized notify wait来实现 1.2 利用lock和condition实现 1.3 利用volatile 该关键字修饰的变量直接存储在main memory 不像其他线程的变量存储在local thread 1.4 利 ...
分类:
编程语言 时间:
2019-04-11 16:30:28
阅读次数:
143
今日大部分时间花在了C语言的链表上了,以下是我今日所学习的java多线程内容,今天学习的是多线程里的其他命令,wait,notify,nofityAll,分别是等待,唤醒,全部唤醒。 附今日敲的代码: ...
分类:
编程语言 时间:
2019-04-10 00:36:26
阅读次数:
158
作为一个看过几千份简历,面试过几百人的面试官,常常会看到简历中有如下文字: 对业务逻辑解耦,高并发等有比较深入的研究和丰富的开发实战经验 对解决高并发问题有深入理解 熟悉大并发技术,如:反向代理、负载均衡、Keepalived 对业务逻辑解耦,高并发等有比较深入的研究和丰富的开发实战经验 对解决高并 ...
分类:
其他好文 时间:
2019-04-09 18:23:45
阅读次数:
131
1. 简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现。在master和backup之间通过master主动降低自己的权值或者backup检测到master出现故障时,backup将会接管master的工作, ...
分类:
系统相关 时间:
2019-04-09 18:13:13
阅读次数:
190
这个不看还真不一定能说全,请养成良好的阅读源码和JDK文档的习惯。 图示:  参考: JDK文档:http://tool.oschina.net/apidocs ...
分类:
其他好文 时间:
2019-04-09 12:35:31
阅读次数:
99
故障现象生产中的一组MySQL双主(主库A和主库B)+Keepalived高可用单写(主库A),出现B库高延时问题。检查B库复制状态如下图1:(B库的复制状态—图1)问题分析1、和开发人员确认,这组MySQL双主每天有批量的数据导入操作,业务是网站展示前一天股票大盘指数,数据是由脚本批量导入,从而产生了复制延时。2、通过对导数据脚本分析,导数据是对一个表先进行delete后进行insert操作;股
分类:
数据库 时间:
2019-04-08 11:53:24
阅读次数:
240
其中,多个线程必须使用的是同一个锁对象; 等待 wait 和唤醒 notify 的也就是这个对象监视器及锁对象的正在等待的单个线程,若多个,谁等的时间长唤醒谁; 代码实现: 从顾客消费者来买包子开始: 使用的是线程类Thread类的匿名内部类的匿名对象方式创建线程; 同步代码块的方式实现线程同步即解 ...
分类:
其他好文 时间:
2019-04-07 22:13:49
阅读次数:
249