软件版本 jdk:jdk-8u77-linux-x64.tar.gz zookeeper:zookeeper-3.4.6.tar.gz hadoop:hadoop-2.7.4.tar.gz hbase:hbase-1.3.1-bin.tar.gz 前提准备 3台vmware虚拟机(已配置无秘钥访问) ...
分类:
其他好文 时间:
2017-08-22 16:05:30
阅读次数:
335
1、SESSION 保存在服务器的哪里?2、服务端是如何获取客户端的cookie?3、如何实现SESSION共享,共享的原理是什么?4、请大致说出LVS搭建的过程,文件共享原理是什么?5、网络共享服务器上传数据是向一台服务器上传?还是多台?如何实现同步?6、说出你所知道的数据库设计范式?常用的建模工 ...
分类:
Web程序 时间:
2017-08-22 10:33:31
阅读次数:
159
头文件:<pthread.h> 编译记得加 -lpthread库 1:互斥锁(mutex) 数据类型:pthread_mutex_t 操作API: 2:读写锁 数据类型:pthread_rwlock_t 操作API: 注:读写锁适合使用在临界资源读频率远高于写频率的情况下。 当临界资源位于读锁定情况 ...
分类:
编程语言 时间:
2017-08-21 00:14:42
阅读次数:
220
常用的同步原语锁,到多核处理器时代锁已经是必不可少的同步方式之一了。无论设计多优秀的多线程数据结构,都避不开有竞争的临界区,此时高效的锁显得至关重要。锁的颗粒度是框架/程序设计者所关注的,当然越细越好(也不尽然),同时不同的锁往往也会体现出完全不同的效率,Linux有posix的pthread_mu ...
分类:
其他好文 时间:
2017-08-20 15:45:28
阅读次数:
541
使用synchronized(object) { 代码块.... } 能对代码块进行加锁,不允许其他线程访问,其的作用原理是:在object内有一个变量,当有线程进入时,判断是否为0,如果为0,表示可进入执行该段代码,同时将该变量设置为1,这时其他线程就不能进入;当执行完这段代码时,再将变量设置为0 ...
分类:
其他好文 时间:
2017-08-17 10:45:43
阅读次数:
204
锁的分类 从对数据的类型 (读\写)分: 1.读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响 2.写锁(排它锁):当前写操作没有完成前,它会阻断其他写锁和读锁 从对数据操作的粒度分: 1.表锁 2.行锁 表锁(偏读) 1.偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁的粒 ...
分类:
数据库 时间:
2017-08-16 11:25:26
阅读次数:
245
在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买. 其实很简单,利用事务+for update就可以解决. (for update仅仅适用于InnoDB) 我们都知道for update实际上是共享锁,是可以被读取的.但是如何在执行时,不被读取呢. 简 ...
分类:
数据库 时间:
2017-08-13 13:21:57
阅读次数:
252
通常锁分为悲观锁和乐观锁,所谓悲观锁就是处处提防着其人操作,生怕别人和自己抢资源,所以一上来就加锁了,而乐观锁就是老是乐天派觉得没人会和自己抢资源,只要按照规则来就没事。悲观锁分读锁和写锁,无论是读锁还是写锁,都不影响查询,查询大家都可以执行而且获取到结果,两把锁的区别就是读锁可以共享锁可以同时多人 ...
分类:
数据库 时间:
2017-08-12 19:01:55
阅读次数:
209
在学习 Linux® 的过程中,您或许接触过并发(concurrency)、临界段(critical section)和锁定,可是怎样在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的锁定机制,包含原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(reade ...
分类:
系统相关 时间:
2017-08-08 19:55:37
阅读次数:
254
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。 这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。 1、自旋锁 2、自 ...
分类:
编程语言 时间:
2017-08-02 21:01:19
阅读次数:
204