线程学习之多个线程对共享资源做不同操作
2011-09-18 11:35
267 查看
下面的代码是有2个线程,一个线程对共享变量加1,另一个线程对共享变量减1的实现
package com.lyj; /** * 多个线程操作同一个对象。 * 执行代码不同,将要执行的代码封装在一个共享变量中,然后传递给各自的Runnable, 在run方法操作不同的执行的代码 */ public class MultiThreadShareDataDemo { /* * 有2个线程,一个线程对共享变量加1,另一个线程对共享变量减1 */ public static void main(String[] args) { ShareData sd = new ShareData(); new Thread(new MyRunnable1(sd)).start(); new Thread(new MyRunnable2(sd)).start(); } } class MyRunnable1 implements Runnable { private ShareData sd; public MyRunnable1(ShareData sd) { this.sd = sd; } @Override public void run() { sd.increate(); } } class MyRunnable2 implements Runnable { private ShareData sd; public MyRunnable2(ShareData sd) { this.sd = sd; } @Override public void run() { sd.decreate(); } } // 共享对象 class ShareData { private int count = 100; public synchronized void increate() { count++; } public synchronized void decreate() { count--; } }
相关文章推荐
- 同一进程不同线程之间的资源共享与独享
- 同一进程不同线程之间的资源共享与独享
- 多线程操作共享资源时 设置线程等待
- JAVA学习37_同一进程中的线程究竟共享哪些资源
- 有相同资源,不同操作的线程
- clone的fork与pthread_create创建线程有何不同&pthread多线程编程的学习小结
- 学习url读取网络资源,开启线程来下载图片
- servlet学习---第三天(同一用户的不同页面数据共享)
- 线程死锁 解决共享资源问题
- 张孝祥ThreadLocal实现线程范围内共享变量(学习笔记)
- 线程同步(信号量,互斥,条件变量) 分类: linux应用程序 2008-04-08 09:43 2587人阅读 评论(1) 收藏 举报 进行多线程编程,最头疼的就是那些共享的数据。因为你无法知道哪个线程会在哪个时候对它进行操作,你也无法
- 4.多线程学习--操作线程的中断机制
- java Thread学习(共享资源)
- 同一进程的线程共享的资源和独有的资源
- 同一进程中的线程究竟共享哪些资源
- 同一进程中的线程究竟共享哪些资源
- JAVA 并发编程随笔【七】线程安全与共享资源
- 进程中的线程共享的资源有哪些?
- 线程安全与共享资源
- 同一进程中的线程究竟共享哪些资源