Java 学习之路——线程1

近来学习java的线程的知识。听了听张龙老师讲的课程,感觉受益匪浅。老师的视频很给力,呵呵。

自己练习了一下线程同步的实例:

package com.lcq.ThreadTest;/** * 类名:ThreadText4 * 功能:用于测试多线程的同步问题以及解决方法 *      第一个线程运行后就被加上锁,只有运行完成之后其他线程才能运行 *      用synchronized关键字实现同步 * 时间: * @version 1.0 * @author lcq */public class ThreadText4 {public static void main(String[] args) {Bank bank = new Bank();Thread mt1 = new MoneyThread(bank);//bank = new Bank();Thread mt2 = new MoneyThread(bank);mt1.start();mt2.start();}}//创建账户类,用于用户的访问,取钱。class Bank{//static 变量是被所有的对象共享的变量//private static int money = 1000;private int money = 1000;//访问synchronized方法是表示将该对象上锁public synchronized int getMoney(int number){//判断用户的钱和要取得钱是否合法if(number < 0){return -1;}else if (number > money) {return -2;}else if(money < 0){return -3;}else{try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}money -= number;//打印出剩余的钱数System.out.println("left money :" + money);return number;}}}//创建取钱线程class MoneyThread extends Thread {private Bank bank;public MoneyThread(Bank bank){this.bank = bank;}@Overridepublic void run() {//返回从该账户中取出的钱数 System.out.println("getMoney :" + bank.getMoney(800));}}

线程刚刚开始,很重要,但是更加重要的还在后边,希望自己会坚持学好。

没有什么可留恋,只有抑制不住的梦想,

Java 学习之路——线程1

相关文章:

你感兴趣的文章:

标签云: