java Thread:利用Thread类实现多线程
2008-11-07 22:31
603 查看
public class UsingThread {
/**
* @param args
*/
//创建一个新进程类
/*public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("main thread started");
FactorialThread2 f=new FactorialThread2(10);
f.start();
System.out.println("main thread end");
}
}//usingthread
class FactorialThread2 extends Thread
{
private int num;
public FactorialThread2(int num)
{
this.num=num;
}
public void run()
{
int i=num;
int result=1;
System.out.println("new thread started");
while(i>0)
{result*=i;
i-=1;}
System.out.println("The factorial of"+num+"is"+result);
System.out.println("new thread ends");
}
*/
//创建3个新线程,每个线程睡眠一段时间(0~6秒),然后结束
public static void main(String[] args)
{
System.out.println("Starting thread");
TestTread t1=new TestTread("t1");
TestTread t2=new TestTread("t2");
TestTread t3=new TestTread("t3");
t1.start();
t2.start();
t3.start();
System.out.println("threads starts,main ends/n");
}
}//usingTread
class TestTread extends Thread
{
private int sleepTime;
public TestTread(String name)
{
super(name);
sleepTime=(int)(Math.random()*6000);
}
public void run(){
try {
System.out.println(this.getName()+" going to sleep for "+sleepTime);
Thread.sleep(sleepTime);
} catch (InterruptedException e) {}
// TODO Auto-generated catch block
System.out.println(getName()+" finished");
}
}
/*心得:
1.从Thread类派生一个类,并创建这个类的对象,就可以产生一个新的线程
2.在派生类中需要重写run()方法,
3.调用sleep(long)可以令线程暂停long ms
4.继承Thread的派生类创建对象后,调用它的start()即可以运行一个新线程
*/
/**
* @param args
*/
//创建一个新进程类
/*public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("main thread started");
FactorialThread2 f=new FactorialThread2(10);
f.start();
System.out.println("main thread end");
}
}//usingthread
class FactorialThread2 extends Thread
{
private int num;
public FactorialThread2(int num)
{
this.num=num;
}
public void run()
{
int i=num;
int result=1;
System.out.println("new thread started");
while(i>0)
{result*=i;
i-=1;}
System.out.println("The factorial of"+num+"is"+result);
System.out.println("new thread ends");
}
*/
//创建3个新线程,每个线程睡眠一段时间(0~6秒),然后结束
public static void main(String[] args)
{
System.out.println("Starting thread");
TestTread t1=new TestTread("t1");
TestTread t2=new TestTread("t2");
TestTread t3=new TestTread("t3");
t1.start();
t2.start();
t3.start();
System.out.println("threads starts,main ends/n");
}
}//usingTread
class TestTread extends Thread
{
private int sleepTime;
public TestTread(String name)
{
super(name);
sleepTime=(int)(Math.random()*6000);
}
public void run(){
try {
System.out.println(this.getName()+" going to sleep for "+sleepTime);
Thread.sleep(sleepTime);
} catch (InterruptedException e) {}
// TODO Auto-generated catch block
System.out.println(getName()+" finished");
}
}
/*心得:
1.从Thread类派生一个类,并创建这个类的对象,就可以产生一个新的线程
2.在派生类中需要重写run()方法,
3.调用sleep(long)可以令线程暂停long ms
4.继承Thread的派生类创建对象后,调用它的start()即可以运行一个新线程
*/
相关文章推荐
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- 关于网宿厦门研发中心笔试的一道PV操作题:利用java中的多线程实现生产者与消费者的同步问题
- 利用Java多线程实现死锁现象之详细解读
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别
- Java 多线程:InheritableThreadLocal 实现原理
- Java 多线程:InheritableThreadLocal 实现原理
- java 多线程 1 “常用的实现多线程的2种方式”:Thread 和 Runnable
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java多线程扩展Thread类和实现runnable接口的联系
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java多线程—继承Thread类实现求和
- 【多线程】JAVA——Thread类实现
- Java 多线程实现接口Runnable和继承Thread区别
- Java:多线程,使用同步锁(Lock)时利用Condition类实现线程间通信
- Java 多线程学习(1)——实现多线程的两种方式Thread/Runnable
- Java 多线程:InheritableThreadLocal 实现原理
- JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)
- java利用lock和unlock实现消费者与生产者问题(多线程)
- java 多线程 22 :生产者/消费者模式 进阶 利用await()/signal()实现
- Java多线程—创建Thread类实现多线程