
java_线程
文章平均质量分 87
Alps
这个作者很懒,什么都没留下…
展开
-
ThreadLocal
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。接口方法ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:void set(Object v原创 2015-03-19 13:43:48 · 485 阅读 · 0 评论 -
15个顶级Java多线程面试题及回答
原文:http://ifeve.com/15-java-faq/ Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试转载 2015-03-19 18:29:09 · 560 阅读 · 0 评论 -
线程与内存
在多个线程之间共享了Count类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存Count对象的一个副本,当线程操作Count对象时,首先从主内存复制Count对象到工作内存中,然后执行代码count.count(),改变了num值,最后用工作内存Count刷新主内存Count。当一个对象在多个内存中都存在副本时,如果一个内存修改了共享变原创 2015-03-19 20:12:38 · 4050 阅读 · 0 评论 -
一个简单的死锁
class DeadLock implements Runnable { public int flag = 1; static Object o1 = new Object(), o2 = new Object(); public void run() { System.out.println("flag=" + flag); if (flag == 1) { synchr原创 2015-03-16 19:37:24 · 557 阅读 · 0 评论 -
Java 条件变量
条件变量都实现了java.util.concurrent.locks.Condition接口,条件变量的实例化是通过一个Lock对象上调用newCondition()方法来获取的,这样,条件就和一个锁对象绑定起来了。因此,Java中的条件变量只能和锁配合使用,来控制并发程序访问竞争资源的安全。条件变量的出现是为了更精细控制线程等待与唤醒,在Java5之前,线程的等待与唤醒依靠的是Object对原创 2015-03-16 20:32:57 · 850 阅读 · 0 评论 -
java线程、锁、sleep、wait
线程创建优级级锁sleep与wait原创 2014-04-06 16:55:15 · 1060 阅读 · 0 评论 -
线程和synchronized
对每一个class只有一个thread可以执行synchronized static method。每个class的instance只有一个thread可以执行synchronized method。任意数目的thread可以执行非synchronized method——不管是否是static。一个线程在访问一个对象的同步方法时,另一个线程可以同时访问这个对象的非同步方法一个线程在访原创 2015-03-12 19:40:39 · 547 阅读 · 0 评论