一个线程的例子
在朋友和媒体的鼓吹下,我开始学习java了。
关于java的介绍我就不写了。这个文档只适合初学者。
我的email地址是:luster@linuxaid.com.cn,欢迎大家和我交流学习体会。
今天是2001年1月13日,我将在以后的日子里在本网站本栏目不定期的发一些我的学习笔记和一些练习小程序,和初学者一起学习讨论。
首先是花了10分钟浏览了一编java的基本语法结构,因为我自己有很多的C/C++编程经验,所以这些东西很快就基本掌握了。于是开始看java里面的线程(thread)。
下面是一个例子。
import java.io.*;
class Counter extends Thread
{
int i = 0;
public void run()
{
while(i<20)
{
System.out.println(i++);
try
{
sleep(1000);
}
catch(InterruptedException e){}
}
System.out.println("I'm finished couting.");
}
}
class Listener extends Thread
{
DataInputStream userInput = new DataInputStream(System.in);
String input="";
public void run()
{
while(!input.equals("Quit"))
{
try{input=userInput.readLine();}
catch(IOException e) {}
System.out.println("You typed"+input);
}
System.out.println("I'am finished listening.");
}
}
class HearYou
{
public static void main(String args[])
{
Thread counter = new Counter();
counter.setPriority(Thread.MAX_PRIORITY);
Thread listener = new Listener();
listener.setPriority(Thread.NORM_PRIORITY);
counter.start();
listener.start();
while(counter.isAlive()' 'listener.isAlive())
{
System.out.println("Something is still alive");
try{ Thread.sleep(3000);}
catch(InterruptedException e){}
}
System.out.println("no more. Good bye.");
}
}
|
编译执行后,程序里面会有两个线程运行,你可以看看上面的源码,很好懂的,再实际运行体会一下结果。
关于线程还有很多话题,例如“优先级”等。我要去看书去了。呵呵。
luster于2001年1月13日@linuxaid.com.cn
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
Java 中对文件的读写操作之比较
下一篇:
和luster一起学习java编程(2)
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】