You have decided to start up a new social networking company. Other existing popular social networksalready have billions of users, so the only way to...
分类:
其他好文 时间:
2014-08-02 12:32:54
阅读次数:
276
synchroized代码块, 直接使用String作为lock的时候,不会起作用此时可已使用String.intern()作为代替,但String.intern()的缺陷是 如果字符串特别多,导致放入字符串池的String不可控,有可能导致OOM错误或者过多的Full GC具体参考这里http:/...
分类:
其他好文 时间:
2014-08-01 19:15:22
阅读次数:
1438
6450 Social AdvertisingYou have decided to start up a new social networking company. Other existing popular social networksalready have billions of us...
分类:
其他好文 时间:
2014-08-01 15:32:01
阅读次数:
310
在编码的过程中,有时候我们不得不借助锁同步来保证线程安全。synchronized关键字在上一篇博客中已经介绍;自从JDK5开始,添加了另一种锁机制:ReentrantLock。
二者的区别
1、lock是jdk5之后代码层面实现的,synchronized是JVM层面实现的。
2、synchronized在出现异常的时候能够自动释放锁,而lock必须在finally块中unlock()主动...
分类:
编程语言 时间:
2014-08-01 00:02:20
阅读次数:
319
JDK提供了写锁接口ReadWriteLock和它的实现ReentrantReadWriteLock。要实现一个读写锁,需要考虑很多细节,其中之一就是锁升级和锁降级的问题。什么是升级和降级呢?ReadWriteLock的javadoc有一段话:
Can the write lock be downgraded to a read lock without allowing an interven...
分类:
其他好文 时间:
2014-07-31 17:13:36
阅读次数:
231
在多线程程序运行过程中,可能会涉及到两个或者多个线程试图同时访问同一个资源。为了防止这种情况的发生,必须在线程使用共享资源时给资源“上锁”,以阻挡其它线程的访问。而这种机制也常常被称为互斥量,本文主要介绍它的两种方式synchronized和Lock 。
1、synchronized
当任务要执行被synchronized关键字保护的代码片段的时候,它会检查锁是否可用,然后获取锁,执行代码,释...
分类:
编程语言 时间:
2014-07-31 17:11:30
阅读次数:
235
一、背景 我们知道,为了防止并发而出现脏读脏写的情况,可以使用Lock语句关键字,这属于悲观并发控制的一种技术,,但在分布式站点下,锁的作用几乎不存在,因为虽然锁住了A服务器的实例对象,但B服务器上的锁是不知道的A服务器上锁的情况的,所以,面对分布式站点、单一数据库这种架构,我们可以使用Entit....
分类:
其他好文 时间:
2014-07-31 16:08:36
阅读次数:
288
前言:朋友咨询我说执行简单的update语句失效,症状如下:mysql> update order_info set province_id=15 ,city_id= 1667 where order_from=10 and order_out_sn='1407261241xxxx';ERROR 1205 (HY000): Lock wait timeout exceeded; try re...
分类:
其他好文 时间:
2014-07-31 13:25:26
阅读次数:
180
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1195题目大意:密码解锁,有两种方式:第一,拨动密码;第一,调换相邻密码的位置。以这两种方式找到最少次数的解锁次数! 1 #include 2 #include 3 #include 4 #incl...
分类:
其他好文 时间:
2014-07-31 12:41:26
阅读次数:
297
引言今天在群里看到分享的解决死锁的sql语句,就想着这东西以后肯定用的着,就下载下来,在这里记录一下,以后查找也方便。SQL 1 SET QUOTED_IDENTIFIER ON 2 GO 3 SET ANSI_NULLS ON 4 GO 5 CREATE PROCEDURE sp_who_lock...
分类:
数据库 时间:
2014-07-30 23:16:55
阅读次数:
488