
【同步】
文章平均质量分 64
雪飞静
左手边在冒险,右手边在蜕变。
展开
-
为什么在Java语言中,每一个对象有一把锁
在Java语言中,每一个对象有一把锁。线程可以使用synchronized关键字来获取对象上的锁。synchronized关键字可应用在方法级别(粗粒度锁)或者是代码块级别(细粒度锁)。 java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了原创 2016-01-15 10:52:26 · 3870 阅读 · 1 评论 -
synchronized
java中cpu分给每个线程的时间片是随机的并且在java中好多都是多个线程共用一个资源,比如火车卖票,火车票是一定的,但卖火车票的窗口到处都有,每个窗口就相当于一个线程,这么多的线程共用所有的火车票这个资源。如果在一个时间点上,两个线程同时使用这个资源,那他们取出的火车票是一样的(座位号一样),这样就会给乘客造成麻烦。比如下面程序:package com.pakage.ThreadAndRu转载 2016-01-15 11:04:19 · 520 阅读 · 0 评论 -
IO同步异步!
http://www.zhihu.com/question/19732473同步、异步、阻塞、非阻塞,是分3个层次的:CPU层次;线程层次;程序员感知层次。这几个概念之所以容易混淆,是因为没有分清楚是在哪个层次进行讨论。CPU层次在CPU层次,或者说操作系统进行IO和任务调度的层次,现代操作系统通常使用异步非阻塞方式进行IO(有少部分IO可能会使用同步非阻塞转载 2016-07-26 23:01:55 · 392 阅读 · 0 评论