本月博客排行
-
第1名
龙儿筝 -
第2名
zysnba -
第3名
johnsmith9th - wy_19921005
- sgqt
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- javashop
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- ranbuijj
- arpenker
- tanling8334
- kaizi1992
- sichunli_030
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ganxueyun
- xyuma
- wangchen.ily
- jh108020
- zxq_2017
- jbosscn
- lemonhandsome
- luxurioust
- Xeden
- lzyfn123
- forestqqqq
- zhanjia
- nychen2000
- ajinn
- wjianwei666
- johnsmith9th
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
java 并发 竞态条件(1)
竞态条件,说得通俗一点,就是线程A 需要判断一个变量的状态,然后根据这个变量的状态来执行某个操作。
在执行这个操作之前,这个变量的状态可能会被其他线程修改。
看一个例子
import java.util.concurrent.atomic.AtomicLong;
public class LazyInitRace {
private ExpensiveObject insta ...
由浅入深Java线程之同步(一)
在并发编程中经常会碰到多个执行线程共享资源的问题。例如多个线程同时读写文件,共用数据库连接,全局的计数器等。如果不处理好多线程之间的同步问题很容易引起状态不一致或者其他的错误。
同步不仅可以阻止一个线程看到对象处于不一致的状态,它还可以保证进入同步方法或者块的每个线程,都看到由同一锁保护的之前所有的修改结果。处理同步的关键就是要正确的识别临界条件(critical section) ...
js文件引用方式及其同步执行与异步执行
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp74
任何以appendChild(scriptNode) 的方式引入的js文件都是异步执行的 (scriptNode 需要插入document中,只创建节点和设置 src 是不会加载 js 文件的,这跟 img 的与加载不同 ) html文件中的<sc ...
对字符串加同步锁的例子
很多时候在使用synchronized时,很多的文章都会讲对静态类,对象加同步,但这样会很影响程序的执行效率,并发数也会因此减少,所以要想办法减小synchronized影响的代码量,缩小同步的范围,下面的对字符串常量池加锁是我比较常用的方式。(理解需求,对需要同步的进行同步)
package thread;
class Runner implements Runnable {
p ...
Java多线程包之读写锁
简单的并发控制可以通过synchronized关键字来完成。
synchronized通过锁定对象,从而实现并发的控制。
但是遇到一下一种情况,就会出现意想之外的结果。
一般来说,我们要实现写入和写入互斥,读取和写入互斥,读取和读取互斥,
在set和get方法加入sychronized修饰符:
public synchronized void set(int data ...
集群中的session同步解决方案[转]
在集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。
1. 客户端cookie加密
简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。
问题:session中数据不能太多,最好只有个用户id。
参考实现:http://roller ...
Java 理论与实践: 正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...
静态方法同步 与 非静态方法同步
, 之前在面试的时候遇到了这个问题,没有理清楚相互之间的同步关系,现在有空记录下~
静态方法同步形式如: static synchronized method()
非静态方法同步形式如: synchronized method()
其中, 静态同步(static synchronized)锁定的对象是class,非静态方法同步锁定的对象是 当前对象(this) ...
Java Volatile学习
Volatile
Volatile的英文解释:adj.易变的,不稳定的.
工作内存Working Memory: 线程私有空间,在虚拟机栈内存里面,由每个线程独享。
主内存Main Memory: 多个线程共享,在堆内存里面。
对于Volatile类型的变量来说,上一次写入操作的结果对下一次读取操作是肯定可见的。在写入volatile变量值之后,CPU缓存中的内容会被写回主存,在读取volatile ...
[转]深入研究java.lang.ThreadLocal类
深入研究java.lang.ThreadLocal类
一、概述
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvari ...
同步辅助类CountDownLatch
问题:前段时间写一个多线程的爬虫程序,要求在所有爬虫线程执行结束后,执行数据库插入操作。所以就要知道那些爬虫线程什么时候能够全部停止。
解决:
(1)按照以往的我的写法,我习惯用Thread类的activeCount()方法,这个方法能够返回当前线程组里活动线程的数量。比如我开5个线程,加上主线程一共是6个线程,所以只需要判断activeCount()为1时(只剩主线程),就说明其他线 ...
sychronized用法
Synchronized可分为synchronized方法和synchronized块。synchronized方法通常是在public之后返回值之前如:public synchronized void A()
而synchronized块则是在方法里面,如:
public void B(){
Synchronized(object){
……
}
}
Java多线程-BlockingQueue【转】
转自:Java多线程-工具篇-BlockingQueue - jack.yujun - 博客园
http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html
•前言:
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速 ...
java.util.concurrent介绍(转)
java.util.concurrent介绍
java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是 ...
jdk1.5的CountDownLatch同步工具
package cn.com.songjy.test.socket.thread;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.commo ...
座位雷达
<div class="iteye-blog-content-contain" style="font-size: 14px">
由于涉及到工作内容保密的问题,所以无法提供源码,只能提供涉及该项功能的实现,本着开源和互相学习以及以后相同功能的重复利用的目的。
GridView虽然也支持横向滚动,但是并不支持代码控制,所以还是用到一 ...