多个线程访问共享对象和数据的方式
来源:互联网 发布:unity3d工程师笔试题 编辑:程序博客网 时间:2024/05/22 06:53
如果每个线程执行的代码相同,可以使用同一个runnable对象,这个Runnable对象中有那个共享数据
比如卖票程序
每个线程访问的数据不同,将这个共享数据封在对象中,把这个对象
public class TheardTestController { public static void main(String[] args) { //卖票 Sale sale=new Sale(); new Thread(sale).start(); new Thread(sale).start(); //每个线程访问的数据不同 共享变量j 启动四个线程 两个操作j++ 两个操作j-- //思路是定义两个内部类实现runnable接口 共享外部类的成员变量 final Calculate c=new Calculate();//c对象为什么要用final修饰? 匿名内部类调用外部类的成员,外部类成员是以参数形式传入的 //在匿名类中需要传递进来final关键字,java希望的是保证内部实现和外在表现的一致性 //如果不将c设为final,就不会使得start()函数的局部变量和局部类内建立的拷贝保持一致 for(int i=0;i<2;i++){ new Thread(new Runnable() { @Override public void run() { while(true){ c.add(); } } }).start(); new Thread(new Runnable() { @Override public void run() { while(true){ c.reduce(); } } }).start(); } }}class Calculate{ private int j=0; public void add(){ j++; System.out.println(Thread.currentThread().getName()+"add j="+j); } public void reduce(){ j--; System.out.println(Thread.currentThread().getName()+"reduce j="+j); }} class Sale implements Runnable{ private int count=100; @Override public void run() { while(count>0){ count--; System.out.println(Thread.currentThread().getName()+" count :"+count); } } }
0 0
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式
- java基础--线程04--多个线程访问共享对象和数据的方式
- 八:多个线程访问共享对象和数据的方式
- Thread学习(三)多个线程访问共享对象和数据的方式
- 5.多个线程访问共享对象和数据的方式
- 多个线程访问共享对象和数据的方式-笔记整理5
- java多线程之多个线程访问共享对象和数据的方式
- java多线程之多个线程访问共享对象和数据的方式
- 黑马程序员-多个线程访问共享对象和数据
- 多个线程访问共享数据的方式
- java并发编程(5)--多个线程共享数据和对象的方式
- Java多线程与并发应用-(6)-多个线程之间共享对象和数据的方式
- 【Linux c】读写pcie配置空间(安装lib库)
- 由女排夺冠对2016年奥运会的思考
- 杭电2171
- 数据库读写分离原因
- Ubuntu使用git
- 多个线程访问共享对象和数据的方式
- linux 查看进程启动时间(运行时间)
- 工作日志
- Spring Boot Memory Performance
- Android 启动模式
- el表达式string强制转换成long报错
- android 5.0 新的特性
- 人才篇-如何识人用人
- Climbing Stairs