- 浏览: 2271013 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
特别说明:java线程相关的参考了张孝祥老师的代码
参考资料:
《深入浅出 Java Concurrency》目录
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
问题如下:
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1!
网上实现如下:
http://skyuck.iteye.com/blog/540660
参考资料:
《深入浅出 Java Concurrency》目录
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
问题如下:
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1!
public class MultiThreadTest { static MyData m = new MyData(); public static void main(String[] args) { MyData m2 = new MyData(); new Thread(new MyDataManager(m2)).start(); new Thread(new MyDataManager2(m2)).start(); new Thread(new Runnable(){ @Override public void run() { m.inc(); } }).start(); new Thread(new Runnable(){ @Override public void run() { m.dec(); } }).start(); System.out.println(m.getAge()); } } class MyDataManager implements Runnable{ MyData m ; public MyDataManager(MyData m){ this.m = m; } @Override public void run() { m.inc(); } } class MyDataManager2 implements Runnable{ MyData m ; public MyDataManager2(MyData m){ this.m = m; } @Override public void run() { m.dec(); } } class MyData{ private int age = 0; synchronized void inc(){ ++age; } synchronized void dec(){ --age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
网上实现如下:
http://skyuck.iteye.com/blog/540660
public class threadtest1 { private int j; Thread thread = new Thread(); private synchronized void inc() { j++; System.out.println(thread.currentThread().getName() + "-inc:" + j); } private synchronized void dec() { j--; System.out.println(thread.currentThread().getName() + "-dec:" + j); } class inc implements Runnable { public void run() { for (int i = 0; i < 100; i++) { inc(); } } } class dec implements Runnable { public void run() { for (int i = 0; i < 100; i++) { dec(); } } } public static void main(String[] args) { threadtest1 tt = new threadtest1(); inc inc = tt.new inc(); dec dec = tt.new dec(); for (int i = 0; i < 2; i++) { Thread t = new Thread(inc); t.start(); t = new Thread(dec); t.start(); } } }
发表评论
-
java json-lib & jQuery & jsonp
2016-06-30 11:31 771参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5137参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29347参考资料 1 跨网站脚本 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2640参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5888场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1904参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1647参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 163591 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1420运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3196参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9673参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1500参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3409环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1089Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 17941参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2053转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11633参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5764问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11728问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ... -
Quartz之JobExecutionException
2011-08-11 10:06 13299问题1 如果你的任务执 ...
相关推荐
Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
继承Thread类: 1必须重写run 方法:里面放置的实际的线程体 2 启动线程: 3创建Thread对象 4调用Thread对象的start 方法启动线程
9.2 Thread的子类创建线程 9.3 使用Runable接口 9.4 线程的常用方法 9.5 GUI线程 9.6 线程同步 9.7 在同步方法中使用wait()、notify 和notifyAll()方法 9.8 挂起、恢复和终止线程 9.9 计时器线程Timer 9.10 线程联合...
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM...它可以在线程之间进行区分,以寻找相似之处,并具有“长运行线程”检测。如果记录了类的直方图,它还提供了线程转储中的堆对象的概述。
java多线程thread实例,经过测试的,可以直接运行
Java-Thread-Affinity,将Java线程绑定到给定的内核.zip
Java线程(Java.Thread)(中英版).
thread java 线程thread java 线程thread java 线程
java多线程的使用方法如何使用,怎么使用,使用过程中有什么要注意的
通过Thread类创建线程 使用Runable接口的线程 线程的生命周期 线程命名 访问线程 线程的启动、停止和连接 总结 第三章 同步技术 银行的例子 异步读取数据 一个进行同步操作的类 同步块 嵌套锁 死锁 返回到银行的...
java多线程按需交替执行,java新特性。
运用多线程技术,练习Thread类得run方法和start方法。运用进度条显式表示下载进度。java多线程之赛马程序
java多线程模拟队列实现排队叫号,多线程模拟排队叫号取号 java多线程模拟队列实现排队叫号,多线程模拟排队叫号取号
Java线程Java线程Java线程Java线程
Java多线程实例,是学习java多线程的好方法
Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。 2.实现Runnable接口,并...
49. Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示,每个Java线程的优先级都在常数________和_______之间,即Thread.MIN_PRIORIY和Thread.MAX_...
java10个线程按照顺序打印1-100