线程不安全之线程在访问资源时候会导致冲突。
例如下列的例子
package com.test.thread;
public class TestConfilict {
/**
* @param args
*/
public static void main(String[] args) {
Counter counter=new Counter();
for...
分类:
编程语言 时间:
2014-09-25 23:29:18
阅读次数:
311
public static void main(String[] args) {Runner1 r1 = new Runner1();Thread t = new Thread(r1);t.start();try {Thread.sleep(10000);} catch (InterruptedEx...
分类:
编程语言 时间:
2014-09-25 20:16:17
阅读次数:
168
public static void main(String[] args) {Runner1 r1 = new Runner1();Thread t = new Thread(r1);t.start();for (int i = 0; i "+i);}}//Runner1实现Runable接口cl...
分类:
编程语言 时间:
2014-09-25 19:12:07
阅读次数:
163
今天重新把昨晚的线程同步面试题做一遍时,发现实际情况运行下来时,线程一直不同步。后来经过不断测试,发现自己的一个误区。之前一直以为,线程如果被唤醒后再次执行时,会从头开始运行这个线程,也就是重新运行Runnable中的run()方法;而实际情况是,被唤醒并且被执行的线程是从上次阻塞的位置从下开始运行...
分类:
编程语言 时间:
2014-09-24 21:45:47
阅读次数:
290
t1 : 这个是线程名称,可以在new Thread()对象的时候指定,或者调用Thread.setName。有了这个名称,搜索thread dump的时候更加方便。这也就是为什么,一般创建线程的时候需要指定线程名称,而不是使用默认的名称。
prio=6 : 这个代表的是线程的优先级priority,也可以通过Thread类中的API修改。实际应用中,一般不会设置该属性,没有太大的用处。
tid : Java的线程Id (这个线程在当前虚拟机中的唯一标识)。
nid : 线程本地标识,是线程在操作系统中的标...
分类:
编程语言 时间:
2014-09-23 21:55:05
阅读次数:
280
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在...
分类:
编程语言 时间:
2014-09-21 04:17:39
阅读次数:
388
java 线程 死锁(哲学家用餐案例讲解) -------thinking java 4...
分类:
编程语言 时间:
2014-09-20 20:05:45
阅读次数:
188
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized同步块大家都比较熟悉,...
分类:
其他好文 时间:
2014-09-18 23:28:14
阅读次数:
333
接近一周没更新《Java线程》专栏了,主要是这周工作上比较忙,生活上也比较忙,呵呵,进入正题,上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上....
分类:
编程语言 时间:
2014-09-18 18:26:44
阅读次数:
229
Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。....
分类:
编程语言 时间:
2014-09-17 13:37:42
阅读次数:
291