ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些 ...
分类:
其他好文 时间:
2017-07-31 22:59:18
阅读次数:
221
1、什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点。 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约束没有被破坏 持久性:事务的提交结果,将持久保存在数据库中 2、事务并发会产生什么问题 1)第一类丢 ...
分类:
数据库 时间:
2017-07-29 12:53:28
阅读次数:
174
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 sy ...
分类:
编程语言 时间:
2017-07-26 18:11:51
阅读次数:
188
GIL(全局解释器锁) GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势 python对于计算密集 ...
分类:
编程语言 时间:
2017-07-24 17:31:52
阅读次数:
241
1、python的多线程到底有没有用? 2、 为什么在python里推荐使用多进程而不是多线程 3、进程、线程、协程、各种锁 ...
分类:
编程语言 时间:
2017-07-23 14:27:24
阅读次数:
148
一、引言 MySQL引擎默认的锁级别: MyISAM和MEMORY采用表级锁(table-level locking)。 BDB采用页面锁(page-level locking)或表级锁,默认为页面锁。 InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁。 二、Inn ...
分类:
数据库 时间:
2017-07-22 09:40:00
阅读次数:
250
多线程: 1. 多线程的3中运行方式: 2. synchronized是一个重量级锁 3. sychronized的锁类型 和 位置 java 为每个类实例和类都设置了一个锁并且遵循一定的锁机制。 在分析sychronized 逻辑是,关键点就是分析出提供锁的对象是哪个?实例,还是类 Java中每一 ...
分类:
其他好文 时间:
2017-07-21 17:21:05
阅读次数:
163
Java 多线程同步 锁机制与synchronized 打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调 ...
分类:
编程语言 时间:
2017-07-20 10:18:29
阅读次数:
198
1 锁 2 Lock() 3 4 Lock(指令锁)是可用的最低级的同步指令。Lock处于锁定状态时,不被特定的线程拥有。Lock包含两种状态——锁定和非锁定,以及两个基本的方法。 5 可以认为Lock有一个锁定池,当线程请求锁定时,将线程至于池中,直到获得锁定后出池。池中的线程处于状态图中的同步阻... ...
分类:
编程语言 时间:
2017-07-17 17:06:14
阅读次数:
145
Java的序列化和ObjectStream真是一个大坑。。 先不说多线程环境下的问题,在单线程里,一个Socket只能保持一个ObjectOutputStream,原因好像是在于ObjectOutputStream有锁机制或是阻塞之类的东西,否则会导致接受方出现”StreamCorruptedExc ...
分类:
移动开发 时间:
2017-07-16 18:25:39
阅读次数:
228