1.wait和notify,notifyAll:wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中。wait()方法:对此对象调用wait方法导致本线...
分类:
编程语言 时间:
2014-08-10 01:27:39
阅读次数:
643
死锁:是两个或者两个以上的线程被无限的阻塞,线程之间互相等待所需资源。线程死锁产生的条件:当两个线程相互调用Join()方法。当两个线程使用嵌套的同步代码块的时候,一个线程占用了另一个线程的锁,互相等待阻塞,就有可能产生死锁。下面看代码:代码1:死锁的案例package com.lp.ecjtu.T...
分类:
编程语言 时间:
2014-08-09 13:16:08
阅读次数:
267
1.验证同步函数使用的锁----普通方法使用的锁思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证。创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定。假设我们事先不知道同步函数用的是什么锁;如...
分类:
编程语言 时间:
2014-08-08 23:50:26
阅读次数:
396
本文是学习网络上的文章时的总结,感谢大家无私的分享。
Thread类的对象中保存了一些属性信息能够帮助我们辨别每一个线程,知道它的一些信息
ID:每个线程的独特标示;
Name:线程的名称;
Priority:线程对象的优先级。优先级别在1-10之间,1是最低级,10是最高级。
Status:线程状态。在java中,线程只有6种状态:new,runnable,blocked,wait...
分类:
编程语言 时间:
2014-08-08 21:31:41
阅读次数:
336
1.java实现线程的方法;
1.实现Runnable接口,重写run方法,通过Thread的start方法启动线程。这种方法可以实现资源的共享
2.继承Thread类,重写run方法
推荐使用Runnable接口实现多线程。
2.线程的状态
创建
开始
就绪
运行
阻塞
终止
3.线程控制的基本方法
isA...
分类:
编程语言 时间:
2014-08-08 02:06:15
阅读次数:
358
关于线程通信使用多线程编程的一个重要原因就是线程间通信的代价比较小--如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3897773.html"谢谢--关键技术:yield(): Thread类的一个静态方法,用来暂停当前正在执行的线程对象,并执行其...
分类:
编程语言 时间:
2014-08-07 21:44:10
阅读次数:
292
本文是学习网络上的文章时的总结,感谢大家无私的分享。
1、与每个Java语言中的元素一样,线程是对象。在Java中,我们有两种方式创建线程:
a、通过直接继承thread类,然后覆盖run方法。
b、构建一个实现Runnable接口的类,然后创建一个thread类对象并传递Runnable对象作为构造参数
代码如下
package chapter;
/**
*
* Descr...
分类:
编程语言 时间:
2014-08-07 15:46:50
阅读次数:
342
这里举个例子讲解,同步synchronized在什么地方加,以及同步的前提:* 1.必须要有两个以上的线程,才需要同步。* 2.必须是多个线程使用同一个锁。* 3.必须保证同步中只能有一个线程在运行,锁加在哪一块代码那么我们要思考的地方有:1.知道我们写的哪些是多线程代码 2.明确共享数据 3.明确...
分类:
编程语言 时间:
2014-08-07 00:35:07
阅读次数:
260
上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题。我们分析为什么会发生多线程安全问题?看下面线程的主要代码:@Override public void run() { // TODO Auto-generated method stub ...
分类:
编程语言 时间:
2014-08-06 21:47:52
阅读次数:
301
对线程的插队行为的理解在编写多线程时,会遇到让一个线程优先于其他线程运行的情况,此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法--如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3893797.html"谢...
分类:
编程语言 时间:
2014-08-06 18:48:01
阅读次数:
420