Therunnable.javapublic class TheRunnable {
public static void main(String []args){
Bank bank=new Bank();
bank.setMoney(300);
Thread threadOne,threadTwo;
threadOne=new Thread(bank);
threadOne.setName("One");
threadTwo=new Thread(bank);
threadTwo.setName("Two");
threadOne.start();
threadTwo.start();
}}Bank.java
public class Bank implements Runnable{
private int number=0;
public void setMoney(int m){
number=m;
}
public void run(){
while(true){
String name=Thread.currentThread().getName();
if(name.equals("One")){
if(number<=160){
System.out.println(name+"进入死亡状态");
return;
}
number=number+10;
System.out.println("我是"+name+"现在number="+number);
}
if(Thread.currentThread().getName().equals("Two")){
if(number<=0){
System.out.println(name+"进入死亡状态");
return;
}
number=number-100;
System.out.println("我是"+name+"现在number="+number);
}
try{
Thread.sleep(800);
}
catch(InterruptedException e){}
}
}
}
以上代码是正确的,是示例Runnable接口的使用,我不是很懂,有以下几点:
1.String name=Thread.currentThread().getName(); //这是什么意思。currentThread();和getName();这是什么方法,没有看到有过定义啊。
2.name.equals("One");//这个也不大明白是干嘛的
就是这样了,我以前是学C++的,现在看java相对简单一些,可是还是有很多不大懂,还请大家帮忙啊。还有,能不能介绍一个类似Java字典的软件给我呢,方便查询。谢谢大家了。
public static void main(String []args){
Bank bank=new Bank();
bank.setMoney(300);
Thread threadOne,threadTwo;
threadOne=new Thread(bank);
threadOne.setName("One");
threadTwo=new Thread(bank);
threadTwo.setName("Two");
threadOne.start();
threadTwo.start();
}}Bank.java
public class Bank implements Runnable{
private int number=0;
public void setMoney(int m){
number=m;
}
public void run(){
while(true){
String name=Thread.currentThread().getName();
if(name.equals("One")){
if(number<=160){
System.out.println(name+"进入死亡状态");
return;
}
number=number+10;
System.out.println("我是"+name+"现在number="+number);
}
if(Thread.currentThread().getName().equals("Two")){
if(number<=0){
System.out.println(name+"进入死亡状态");
return;
}
number=number-100;
System.out.println("我是"+name+"现在number="+number);
}
try{
Thread.sleep(800);
}
catch(InterruptedException e){}
}
}
}
以上代码是正确的,是示例Runnable接口的使用,我不是很懂,有以下几点:
1.String name=Thread.currentThread().getName(); //这是什么意思。currentThread();和getName();这是什么方法,没有看到有过定义啊。
2.name.equals("One");//这个也不大明白是干嘛的
就是这样了,我以前是学C++的,现在看java相对简单一些,可是还是有很多不大懂,还请大家帮忙啊。还有,能不能介绍一个类似Java字典的软件给我呢,方便查询。谢谢大家了。
解决方案 »
- 求解答?关于事件触发的问题
- 如何让swing中的对象实现双重监听器!
- 如何修改类中方法的修饰符
- 请问如何在一个TextField外捕获用户点击鼠标的事件
- 一个随机排列的问题
- /jldo/count1.jsp要求去掉/jldo/这个怎么办??要求代码有通用性,感谢
- JAVA初学第一问:怎么总提示找不到"sun.JDBC.odbc.JdbcOdbcDriver"呢??
- java中读EXECL文件问题?
- 使用过proxool的高手们请帮助小弟一下了
- 请问一个while徨问题?
- 向数据库里插入系统日期时,出这Cannot format given Object as a Date
- 你们的jdk是什么版本,java 6 update 10以后的哪种比较稳定
2.name等于"One"
thread.getName(); 获取线程对象的名字这些都可以在API里查到,具体查找 java.lang.Thread 类
但CHM格式好像更好用,有模糊搜索的功能,下载网址:http://gceclub.sun.com.cn/Java_Docs/jdk6/JDK_API_1_6_zh_CN.CHM
java api 自己下一个,网上很多,注意版本