「java并发demo」java并发的未来方向
本篇文章给大家谈谈java并发demo,以及java并发的未来方向对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java中Demo代表什么
Demo就是演示的意思.xxxDemo即是关于xxx方面的演示例子.比如说名StrutsDemon即为了演示Struts功能的例子.这种命名没有什么强制性,不过是为了响应Java的命名规范而已:简明易懂。
多见于Java教程里面。
java 线程demo编程
package demo;
/**
* 银行
*/
public class Bank {
//存入账户,也就是共享数据,其实应更复杂,比如一家银行有n个储户,或者一个用户有n个银行账户...
private Account account = new Account();
/**
* 这里安全,否则显示账户余额可能出现问题
* @param mony
*/
public synchronized void putMony(int pid, int timeIndex, double money){
account.inMoney(money);
display(pid, timeIndex);
}
private void display(int pid, int timeIndex){
System.out.println("#pid:"+timeIndex+":"+account.getTotal());
}
public static void main(String[] args) {
Bank bank = new Bank();
Person person1 = new Person(bank, 1, 3, 3000);
Person person2 = new Person(bank, 2, 3, 3000);
person1.start();
person2.start();
}
}
/**
* 储户
*/
class Person extends Thread{
private Bank bank;//银行
private int times;//交易次数
private double money;//每次交易金额
private int pid;//用户ID
public Person(Bank bank, int pid, int times, double money) {
this.bank = bank;
this.pid = pid;
this.times = times;
this.money = money;
}
public void run() {
for(int i = 0; i times; i++){
bank.putMony(pid, i, money);
}
}
}
/**
* 账户
*/
class Account {
//总额
private double total;
public Account() {
//开户后,账户余额设为0
this.total = 0;
}
public double getTotal() {
return total;
}
/**
* 存钱
* @param money
*/
public void inMoney(double money) {
this.total += money;
}
/**
* 取钱(自行处理不能透支的情况...)
* @param money
*/
public void outMoney(double money) {
this.total -= money;
}
}
自己仔细分析下吧
如何处理并发?java
如果你是负责实现算法的,其实并不需要考虑所谓的并发性,因为算法与具体业务是不相干的,同样的一个算法被多次调用并不会引起什么不良的后果,即使客户程序丢给你一个被并发访问的参数,你也不需要考虑它,这是客户程序应该考虑的事。
我想你不必去费心设计一个单例,单例有它自身的问题和缺陷。这里只需要将类中的方法声明为public static就应该能满足要求了。
java并发demo的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java并发的未来方向、java并发demo的信息别忘了在本站进行查找喔。