多线程
文章平均质量分 58
衡达天下
好好学习天天向上
展开
-
wait和notifyAll的方法使用案例分析
//第一个类用来定义客人类 public class Guest implements Runnable{ Plate plate; public Guest(Plate plate) { super(); this.plate = plate; } @Override public void run() { for (int i = 0; i // Syst原创 2016-03-08 19:26:20 · 287 阅读 · 0 评论 -
对比:通过实现Runnable接口和继承thread类来生成多线程
/* * 对比:通过实现Runnable接口和继承thread类来生成多线程 * 进行主函数的测试 */ public class TicketDemoMain { public static void main(String[] args) { //通过实现Runnable接口来实现多线程可以实现资源共享 Ticket2RunnableDemo t1=new Tick原创 2016-03-13 20:00:03 · 254 阅读 · 0 评论 -
Yield的使用方法
/* * 暂时放弃CPU的使用权,重新转入就绪状态, * 和其他线程一起抢占CPU的使用权 */ class YieldThread extends Thread{ @Override public void run() { yield(); for (int i = 0; i System.out.println(getName()+":"+i); } }原创 2016-03-13 19:58:14 · 346 阅读 · 0 评论 -
使用多线程方法生成一个死锁程序
/** * 要求:生成一个死锁程序 * */ public class DieThreadDemo { public static void main(String[] args) { //创建这两个线程 Example example=new Example(); DieThread1 thread1=new DieThread1(example); thread原创 2016-03-13 19:56:01 · 303 阅读 · 0 评论 -
以同一张银行卡取钱为例,演示同步多线程方法
public class BankDemo { public static void main(String[] args) { Bank bank=new Bank(); BankThread p1=new BankThread(bank); p1.start();//柜台取钱 BankThread p2=new BankThread(bank); p2.start();//原创 2016-03-13 19:54:56 · 629 阅读 · 0 评论 -
线程间的基本通信的实现
/** * 线程间通信:其实就是多个线程在操作同一个资源, * 但是操作的动作不同 出错现象,输入的和输出的对象不响应。 * * * wait;notify();notifyall(); * 都使用在同步中,因为要对持有监视器(锁)的线程操作。 * 所以要使用在同步中,因为只有同步才具有锁。 * 为什么这些操作线程的方法要定义Object类中呢? *因为这些原创 2016-03-23 11:48:25 · 253 阅读 · 0 评论 -
多线程中join方法的使用方法以及其特点
/** * join特点:当A线程执行到了B线程的join方法时,A就会等待。等B线程都执行完了,A才会执行 * * */ public class JionDemo { public static void main(String[] args) { Demo d=new Demo(); Thread t1=new Thread(d); Thread t2=new T原创 2016-03-23 11:47:31 · 495 阅读 · 0 评论 -
生产者和消费者关系通过多线程来实现
import java.util.concurrent.locks.*; /*import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;*/ /** * 使用not原创 2016-03-23 11:46:12 · 383 阅读 · 0 评论 -
多线程的停止方法
/** * stop方法已经过时 * 如何停止线程呢? * 只有一种,run方法结束。开启多线程运行,运行代码通常是循环结构 * 只要控制住循环,就可以让run方法结束,也就是线程结束 * */ public class StopThreadDemo { public static void main(String[] args) { StopThread st=ne原创 2016-03-23 11:45:22 · 282 阅读 · 0 评论 -
多线程的使用技巧:使用匿名内部类来实现一个线程的创建
/* * 多线程使用的技巧,即使用匿名内部类来创建一个多线程 */ public class ThreadDemo { public static void main(String[] args) { new Thread(){ public void run() { for (int i = 0; i System.out.println(Thread.currentThr原创 2016-03-23 11:43:57 · 2180 阅读 · 0 评论 -
使用多线程方法实现一个死锁程序,用来提醒自己不要犯这样的错误
/* * 建立一个死锁工程 */ public class DeadLockDemo { //主函数 public static void main(String[] args) { Thread t1=new Thread(new Test(true)); Thread t2=new Thread(new Test(false)); t1.start(); t2.start原创 2016-03-23 11:42:11 · 289 阅读 · 0 评论 -
关于多线程的使用一些基本介绍
/** * 1:进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序, * 该顺序是一个路径,或者叫一个控制单元 * * 2:线程:就是进程中的一个独立的控制单元,线程在控制这进程的执行 * 3:一个进程至少有一个线程 *java虚拟机 * 启动的时候就有一个进程Java.exe * 该进程中至少一个线程负责Java程序执行而且这个线程运行的代码存在与ma原创 2016-03-23 11:41:26 · 223 阅读 · 0 评论 -
Java程序中多线程的优先级设置方法
class PriorityThread extends Thread{ @Override public void run() { System.out.println("线程优先级"+getPriority()); for (int i = 0; i System.out.println(getName()+":"+i); } } } public class原创 2016-03-13 20:02:24 · 3381 阅读 · 0 评论