今天在头条上看到一道据说是腾讯的笔试题,闲来无事,准备验证一下! 题目如下: 有一个变量int a=0;两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()? 根据我的理解答案不唯一,最大是两百,最小是2吧。直接上代码: i++不是原子(就是只由一条指令构成的)操作,也就是说,它不 ...
分类:
编程语言 时间:
2016-06-18 23:56:35
阅读次数:
351
代码示例: 输出如下: 调用wait() notify() notifyAll()方法时需要注意的细节: 1)使用wait() notify() notifyAll() 时需要先对调用对象加锁; 2)调用wait()方法后,线程状态由RUNNING 变为WAITING,并将当前线程放置到对象的等待队 ...
分类:
编程语言 时间:
2016-06-18 15:29:10
阅读次数:
151
在并发读写数据库时,读操作可能会不一致的数据(脏读)。为了避免这种情况,需要实现数据库的并发访问控制,最简单的方式就是加锁访问。由于,加锁会将读写操作串行化,所以不会出现不一致的状态。但是,读操作会被写操作阻塞,大幅降低读性能。在java concurrent包中,有copyonwrite系列的类, ...
分类:
Web程序 时间:
2016-06-16 01:40:47
阅读次数:
181
同步静态方法 synchronized还可以应用在静态方法上,如果这么写,则代表的是对当前.java文件对应的Class类加锁。看一下例子,注意一下printC()并不是一个静态方法: 写三个线程分别调用这三个方法: 写个main函数启动这三个线程: 看一下运行结果: 从运行结果来,对printC( ...
分类:
编程语言 时间:
2016-06-15 19:14:52
阅读次数:
191
MYSQL的锁 1. 共享锁,也就是读锁,可以通过select ... lock in share mode强制加锁,默认select语句是不加锁的 2. 排他锁,也就是写锁,可以通过select ... for update强制加写锁,默认情况下insert, update, delete语句加写 ...
分类:
数据库 时间:
2016-06-15 15:41:52
阅读次数:
204
Spanner要满足的external consistency 是指:后开始的事务一定可以看到先提交的事务的修改。所有事务的读写都加锁可以解决这个问题,缺点是性能较差。特别是对于一些workload中只读事务占比较大的系统来说不可接受。为了让只读事务不加任何锁,需要引入多版本。在单机系统中,维护一个 ...
分类:
其他好文 时间:
2016-06-15 12:22:02
阅读次数:
139
这篇文章主要介绍了MySQL行级锁、表级锁、页级锁详细介绍,同时列举了一些实例说明,需要的朋友可以参考下 页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁 表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行 ...
分类:
数据库 时间:
2016-06-15 12:13:24
阅读次数:
178
with(nolock) table hint 不意味着不会加锁,使用 Trace Flag 1200 返回加锁的整个过程,是学习加锁过程的得力工具 Step1,设置事务隔离级别为 Read Committed,然后使用with(nolock) table hint,查看加锁过程 在第一次执行该语句 ...
分类:
其他好文 时间:
2016-06-14 14:21:38
阅读次数:
592
好几天没看juc了,之前看了HashMap,还有个差不多的HashTable,二者的结构大致相同,小小的比较下2者的不同:
1.HashMap是非线程安全的,HashTable通过synchronized加锁实现线程安全。如果我们的代码里存在{get();...;put()}这种操作的话就保证不了;
2.HashMap可以存储key或value为null的值,HashTable不行;
3.初...
分类:
其他好文 时间:
2016-06-12 03:29:07
阅读次数:
171
1,java内存模型(JMM):主内存与工作内存:主内存存储了所有变量,每条线程有自己的工作内存,工作内存保存在被线程使用的变量和主内存变量的副本,线程操作必须在工作内存中进行,不能直接读取主内存而线程间的值传递需要主内存。
,内存操作有8条语句均是原子的。
2,线程同步的方法(多个线程对共享数据的竞争是线程不安全的因素)
线程同步总体可分为有锁同步和无锁同步。有锁同步就是加锁,主要包括sy...
分类:
其他好文 时间:
2016-06-12 02:07:58
阅读次数:
354