zoukankan
html css js c++ java
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 block e.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; } @Override public void run() { //返回从该账户中取出的钱数 System.out.println("getMoney :" + bank.getMoney(800)); } }
线程刚刚开始,很重要,但是更加重要的还在后边,希望自己会坚持学好。
查看全文
相关阅读:
[学习日记]进程、线程和模块
[学习日记]对SOAP头内添加信息的验证,可实现对请求WEB服务进行身份验证。
[梦里原创]关于猫和老鼠的问题(程序算法)
[学习日记]对控件的继承和重载
[学习日记]VB图像处理之像素的获取和输出
猫和老鼠问题的讨论
[音乐欣赏]丁香花
推荐一个WINDOWS系统文件介绍的网站
[转]查查在中国有多少人的名字和你一样!
计算机语言发展图解
原文地址:https://www.cnblogs.com/lcqBlogs/p/2392388.html
最新文章
深入理解JavaScript系列(19):求值策略(Evaluation strategy)
深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
TortoiseSVN简单使用
WCF Concurrency (Single, Multiple, and Reentrant) and Throttling
Good feeling of My New Company
Preparation for Prism
Three ways to do WCF instance management
WCF Basics
推荐MSDNWCF文档索引!
使用Prism提供的类实现WPF MVVM点餐Demo
热门文章
使用Prism框架提供的类简化Hello MVVM
Hello WCF
使用VB.NET开发定制控件
RSS阅读器下载
学习c#.net
关于猫和老鼠的算法
[学习日记]vb.net控件大小和位置的调整
推荐一本不错的电子书,我正在读
有关图像入理的问题
[转载]用VB.Net编织未来--比尔.盖茨
Copyright © 2011-2022 走看看