最新文章列表

Java之多线程之Lock与Condition

Java之多线程之Lock 接上文 在多线程环境中,大部分情况下,使用 synchronized 关键字可以满足需求。 但是其也存在不足。于是 java.util.concurrent.locks 包出现 ...
Lixh1986 评论(1) 有3120人浏览 2017-01-08 12:30

公平锁和非公平锁

protected final boolean tryAcquire( int acquires) { final Thread current = Thread.currentThread(); int c = getState(); //状态为0,说明当前没有线程占有锁 if (c == 0 ) { //如果当 ...
aiyoul 评论(0) 有502人浏览 2016-12-22 21:29

Nio连接池被hang死

今天发现Jetty没有响应了,重启就好了,重启之前抓了一个dump分析了下里面的堆栈信息,发现Jetty的所有工作线程都被一把锁给hang住了:   "qtp598461443-127" prio=5 tid=127 WAITING at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.L ...
fredlong 评论(0) 有3778人浏览 2016-11-23 14:13

Java并发编程之ReentrantLock学习

Lock和synchronized区别 1、synchronized是java提供的内置关键字,一旦使用线程就被锁住,直到线程执行完成或者处于wait状态下才会释放;如果线程处于阻塞了就会其他线程就会一直等待,如sleep; 2、Lock是一个接口,在JDK1.5提供,属于JUC下面常用的同步处理接口。在执行同步是都需要通过方法获取锁,执行完成之后必须释放锁;在获取锁时,通过tryLock方法可以 ...
dongensi 评论(0) 有702人浏览 2016-07-20 17:10

并发 Collections.synchronizedList

引用 1 :关注要点,为什么在有synchroniezed方法的同时会出现 Collections.synchronizedList     2 :知识背景: 您可能需要了解java Synchronized方法的加锁的各种机制,包括如何上锁,锁对象     3 : plus: 您需要不断的深化 Java加锁的各种机制 Java代码  1.@NotThreadSafe  ...
dannyhz 评论(0) 有424人浏览 2016-05-11 17:06

数据库中的锁

1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1 ...
1028826685 评论(0) 有516人浏览 2016-04-06 16:36

java之synchronized与lock

最近在读《java并发编程实践》这本书,更加深入的了解了内部锁(synchronied)与显示锁(lock)的区别。以前以为java 5.0出来的lock是来替代synchronied的, ...
Mr_ziha 评论(0) 有713人浏览 2016-03-09 17:41

ReentrantLock搭配Condition使用时

查看Condition.await方法的JDK文档说明时,有如下描述: 与此 Condition 相关的锁以原子方式释放,并且出于线程调度的目的,将禁用当前线程,且在发生以下四种情况之一 以前,当前线程将一直处于休眠状态: 1)其他某个线程调用此 Condition 的 signal() 方法,并且碰巧将当前线程选为被唤醒的线程;或者 2)其他某个线程调用此 Condition 的 sign ...
qiangcz 评论(0) 有432人浏览 2016-02-01 15:27

线程安全之ReadWriteLock

《线程安全之ReadWriteLock》   synchronized关键字可以用于修饰方法和对象,被修饰的方法和对象在某一时间内只允许任意一条线程对其进行访问操作,这就是典型的排它锁。那么假设一个对象内部的某个数据类型同时拥有读/写方法时,读操作的权重比例明显高于写操作时,那么为了保证线程安全,我们都会加上synchronized关键字进行修饰,那么程序在并发环境下的吞吐量将会大大降低。因 ...
gao_xianglong 评论(0) 有760人浏览 2016-01-31 00:13

MySQL锁模型与事物

 MySQL中不同的存储引擎支持不同的锁机制,比如,MySAM和MEMORY存储引擎采用表级锁,InnoDB支持表级锁和行级锁(默认采用行级锁),BDB(被InnoDB取代)支持表级锁和页面锁。   查看mysq提供的存储引擎:mysql> show engines;查看mysql当前默认的存储引擎:mysql> show variables like '%storage_eng ...
2012到2014 评论(0) 有1399人浏览 2016-01-16 17:51

java并发编程-1

以前研究过并发编程,但是没有深入,这次有时间了深入研究下。并发编程中只要掌握两个点就好了,一个是线程之间的互斥,一个是线程的通信。 1、互斥: 互斥的概念就是当线程A在执行某个方法时,只有当A完全执行完之后其他的线程才可以访问这个方法,如果A没有执行完,那么其他要访问这个方法的线程将阻塞。 2、通信:如果要很多线程都阻塞了,那么当A执行完之后应该怎么办呢?是让A线程继续执行还是随机选取一个线 ...
suichangkele 评论(0) 有486人浏览 2015-12-16 16:52

Java与锁的一些简单总结

Java与锁的一些简单总结 作者:大飞   前言        从开始写Java到现在,从开始不知道锁是什么,怎么用,更不知道为什么要用。到现在能够在必 ...
BrokenDreams 评论(3) 有9003人浏览 2015-12-07 15:22

JAVA源码分析------锁(1)

第一次写博客,也就是记录一些自己对于JAVA的一些理解,不足之处,请大家指出,一起探讨。 这篇博文我打算说一下JAVA中锁,也就是Lock()的部分源码,这里我拿了一个Lock的具体实现类ReentrantLock来举例,但其实其他几个实现类大同小异。 附上一张流程图,来源我忘记,比较抱歉啊。   首先声明一下ReentrantLock类中的结构 其中有一个Sync静态内部类,该类继承 ...
杭州猛男Cook.Mr 评论(0) 有946人浏览 2015-11-23 16:22

生产者与消费者,学习多线程

package ThreadDemo; import java.util.Date; /*生产者(Producer)将产品交给店员(check),而消费者(Customer)从店员出取走产品。 店员一次只能维持固有数量的产品(比如20)。如果生产者试图生产更多的产品,店员会叫生产者停一下。 如果店中有空位,店员会叫生产者生产。如果店中没有产品了,会告诉消费者等一下。如果店中有 ...
programmer_Q 评论(0) 有671人浏览 2015-11-12 03:05

一类锁表问题的分析

今天在工作中,老大指出了表设计的问题。这张表的意图很简单,就是简单地记录内部员工的记录,当然还有一个总用户表,内部员工表中有一个字段“ ...
以矫健身姿飞跃 评论(0) 有331人浏览 2015-11-10 09:13

[转]MySQL中的隔离级别和悲观锁及乐观锁

  一、事务支持     MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关。     1. MyISAM 不支持事务,用于只读程序提高性能;     2. InnoDB 支持ACID事务,行级锁、并发;     3. Berkeley DB 支持事务。   二、隔离级别     隔离级别决定了一个session中的事务可能对另一个session的影响、并发se ...
flyer0126 评论(0) 有1176人浏览 2015-10-21 10:05

数据库锁的概念

【引言】 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行 ...
zhangliguoaccp 评论(0) 有2064人浏览 2015-09-25 17:06

Objective-C中不同方式实现锁(2)

原文地址: http://www.tanhao.me/pieces/643.html/   在上一文中,我们已经讨论过用Objective-C锁几种实现(跳转地址),也用代码实际的演示了如何通过构建一个 ...
wishesbest 评论(0) 有404人浏览 2015-09-08 09:24

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics