Java线程
爪哇武功盖世
当你手上有一把锤子的时候,看所有的东西都是钉子;当你手上有个钉子的时候,看所有的东西都是锤子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
synchronized 实现生产者消费者问题
商品类:package com.mth.procus;public class Good { private String name; private int count = 0; private boolean flag = false;// 没有商品 public synchronized void set(String name) { while (flag) {//原创 2014-01-10 12:14:48 · 1134 阅读 · 0 评论 -
本程序目的:解决卖重复票 还有 负数票的情况
package com.mth.synchronizedtest;/*多线程 * 本程序目的:解决卖重复票 还有 负数票的情况 * synchronized这个关键字有两种用法1、放方法名前形成同步方法;2、放在块前构成同步块。 * * */public class SynchronizedTest1 implements Runnable { private int tick原创 2014-01-10 11:44:49 · 1183 阅读 · 0 评论 -
多线程出现卖相同票号码和负数票分析
package com.mth.synchronizedtest;public class SynchronizedTest implements Runnable { private int tickets = 100; @Override public void run() { for (int i = 0; i < 100; i++) { if (tickets >原创 2014-01-10 11:41:45 · 2137 阅读 · 0 评论 -
区别:1 继承有局限性,java中只能单继承2.继承Thread类的方式,数据是线程独享的
package com.mth.test3;/* * getName()获得线程名字 * setName()设置线程名字 * * */public class ThreadTest4 extends Thread { private int tickets = 20; @Override public void run() { while (tickets > 0)原创 2014-01-10 11:33:14 · 2001 阅读 · 0 评论 -
区别1.Runnable接口方式,数据是程共享的 2 接口可以多实现
package com.mth.test3;public class ThreadTest3 implements Runnable { private int tickets = 20; @Override public void run() { while (tickets > 0) { System.out.println(Thread.currentThread()原创 2014-01-10 11:32:04 · 941 阅读 · 0 评论 -
线程的第二种创建方式 实现接口Runnable
package com.mth.test2;//线程的第二种创建方式 实现接口Runnable(实现接口还可以继承其他的类 程序扩展性更好)//覆盖run()方法//创建线程对象 通过构造方法 Thread(Runnable target)//启动现场 对象.start()public class ThreadTest2 implements Runnable { @Overrid原创 2014-01-10 11:28:27 · 997 阅读 · 0 评论 -
Lock锁 实现生产者和消费者问题
商品类:package com.thread.lock;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/* Lock Condition *noctiyAll()原创 2014-01-10 12:17:06 · 958 阅读 · 0 评论 -
死锁问题
package com.mth.deadlock;//出现死锁是因为嵌套同步导致的public class Dead implements Runnable { private boolean flag; public Dead(boolean flag) { super(); this.flag = flag; } @Override public void run(原创 2014-01-10 12:19:36 · 703 阅读 · 0 评论 -
线程的第一种创建方式继承Thread
package com.mth.test1;//线程的第一种创建方式://1.创建类 继承类Thread//2.覆盖run()方法//3.创建线程对象//4.启动线程 对象名.startpublic class ThreadTest1 extends Thread { @Override public void run() { for (int i = 0; i < 15原创 2014-01-10 11:27:18 · 787 阅读 · 0 评论
分享