最新文章列表

java 并发 竞态条件(1)

竞态条件,说得通俗一点,就是线程A 需要判断一个变量的状态,然后根据这个变量的状态来执行某个操作。 在执行这个操作之前,这个变量的状态可能会被其他线程修改。 看一个例子 import java.util.concurrent.atomic.AtomicLong; public class LazyInitRace { private ExpensiveObject insta ...
hw1287789687 评论(0) 有4852人浏览 2015-07-29 21:43

由浅入深Java线程之同步(一)

   在并发编程中经常会碰到多个执行线程共享资源的问题。例如多个线程同时读写文件,共用数据库连接,全局的计数器等。如果不处理好多线程之间的同步问题很容易引起状态不一致或者其他的错误。    同步不仅可以阻止一个线程看到对象处于不一致的状态,它还可以保证进入同步方法或者块的每个线程,都看到由同一锁保护的之前所有的修改结果。处理同步的关键就是要正确的识别临界条件(critical section) ...
zhuyuyuseu 评论(0) 有745人浏览 2014-03-12 09:30

js文件引用方式及其同步执行与异步执行

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp74   任何以appendChild(scriptNode) 的方式引入的js文件都是异步执行的 (scriptNode 需要插入document中,只创建节点和设置 src 是不会加载 js 文件的,这跟 img 的与加载不同 )   html文件中的<sc ...
grefr 评论(0) 有1481人浏览 2014-03-03 14:44

对字符串加同步锁的例子

很多时候在使用synchronized时,很多的文章都会讲对静态类,对象加同步,但这样会很影响程序的执行效率,并发数也会因此减少,所以要想办法减小synchronized影响的代码量,缩小同步的范围,下面的对字符串常量池加锁是我比较常用的方式。(理解需求,对需要同步的进行同步) package thread; class Runner implements Runnable { p ...
lionlx 评论(0) 有3946人浏览 2014-02-22 10:46

Java多线程包之读写锁

简单的并发控制可以通过synchronized关键字来完成。 synchronized通过锁定对象,从而实现并发的控制。   但是遇到一下一种情况,就会出现意想之外的结果。   一般来说,我们要实现写入和写入互斥,读取和写入互斥,读取和读取互斥, 在set和get方法加入sychronized修饰符:   public synchronized void set(int data ...
dacoolbaby 评论(0) 有1415人浏览 2014-01-26 16:56

java中关键字volatile的作用

用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致 的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1============= ...
wbj0110 评论(0) 有609人浏览 2014-01-16 09:35

集群中的session同步解决方案[转]

    在集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。 1. 客户端cookie加密    简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。    问题:session中数据不能太多,最好只有个用户id。    参考实现:http://roller ...
GloryRoad_Wang 评论(0) 有552人浏览 2014-01-13 14:28

Java 理论与实践: 正确使用 Volatile 变量

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...
beijishiqidu 评论(0) 有550人浏览 2014-01-12 22:03

java.util.concurrent并发包诸类概览

java.util.concurrent包的类都来自于JSR-166:Concurrent Utilities,官方的描述叫做“The JSR proposes a set of medium-level utilities that provide functionality commonly needed in concurr ...
RayChase 评论(0) 有26159人浏览 2014-01-04 14:42

静态方法同步 与 非静态方法同步

  , 之前在面试的时候遇到了这个问题,没有理清楚相互之间的同步关系,现在有空记录下~     静态方法同步形式如:  static  synchronized method()   非静态方法同步形式如: synchronized method()     其中, 静态同步(static synchronized)锁定的对象是class,非静态方法同步锁定的对象是 当前对象(this) ...
pi88dian88 评论(0) 有1639人浏览 2014-01-03 17:38

Java Volatile学习

Volatile Volatile的英文解释:adj.易变的,不稳定的. 工作内存Working Memory: 线程私有空间,在虚拟机栈内存里面,由每个线程独享。 主内存Main Memory: 多个线程共享,在堆内存里面。 对于Volatile类型的变量来说,上一次写入操作的结果对下一次读取操作是肯定可见的。在写入volatile变量值之后,CPU缓存中的内容会被写回主存,在读取volatile ...
darrenzhu 评论(0) 有1208人浏览 2013-12-31 13:42

java线程同步如何避免阻塞

      Java线程同步需要我们不断的进行相关知识的学习,下面我们就来看看如何才能更好的在学习中掌握相关的知识讯息,来完善我们自身的编写手段 ...
AILIKES 评论(0) 有888人浏览 2013-12-17 17:13

[转]深入研究java.lang.ThreadLocal类

深入研究java.lang.ThreadLocal类     一、概述   ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvari ...
zhongrf 评论(0) 有846人浏览 2013-12-16 00:59

同步辅助类CountDownLatch

问题:前段时间写一个多线程的爬虫程序,要求在所有爬虫线程执行结束后,执行数据库插入操作。所以就要知道那些爬虫线程什么时候能够全部停止。   解决: (1)按照以往的我的写法,我习惯用Thread类的activeCount()方法,这个方法能够返回当前线程组里活动线程的数量。比如我开5个线程,加上主线程一共是6个线程,所以只需要判断activeCount()为1时(只剩主线程),就说明其他线 ...
kobe_hz 评论(0) 有917人浏览 2013-12-05 22:35

sychronized用法

Synchronized可分为synchronized方法和synchronized块。synchronized方法通常是在public之后返回值之前如:public synchronized void A() 而synchronized块则是在方法里面,如: public void B(){ Synchronized(object){ …… } }
junzai 评论(2) 有807人浏览 2013-11-19 21:31

Java多线程-BlockingQueue【转】

转自:Java多线程-工具篇-BlockingQueue - jack.yujun - 博客园 http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html •前言:      在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速 ...
edr_ 评论(0) 有1925人浏览 2013-10-09 23:31

java.util.concurrent介绍(转)

java.util.concurrent介绍       java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是 ...
dreamoftch 评论(0) 有850人浏览 2013-09-03 21:52

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 ...
宋建勇 评论(0) 有816人浏览 2013-08-27 13:37

座位雷达

<div class="iteye-blog-content-contain" style="font-size: 14px">        由于涉及到工作内容保密的问题,所以无法提供源码,只能提供涉及该项功能的实现,本着开源和互相学习以及以后相同功能的重复利用的目的。 GridView虽然也支持横向滚动,但是并不支持代码控制,所以还是用到一 ...
lesterlester 评论(0) 有1173人浏览 2013-08-12 15:43

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics