Java线程:创建与启动
public void run()
- 如果该线程是使用独立的
Runnable
运行对象构造的,则调用该Runnable
对象的run
方法;否则,该方法不执行任何操作并返回。 -
Thread
的子类应该重写该方法。
- 使用实现接口
Runnable
的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run
方法。 -
方法
run
的常规协定是,它可能执行任何所需的操作。
Thread(Runnable target, String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, String name)
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
package com.dashu.thread; public class DoSomething implements Runnable { private String name; public DoSomething(String name) { this.name = name; } public void run() { // TODO Auto-generated method stub for (int i = 0; i < 10; i++) { for (long k = 0; k < 100000000; k++) ; System.out.println(name + ": " + i); } } }
package com.dashu.thread; public class TestThread { public static void main(String[] args) { DoSomething do1 = new DoSomething("乌龟"); DoSomething do2 = new DoSomething("王八"); Thread t1 = new Thread(do1); Thread t2 = new Thread(do2); t1.start(); t2.start(); } }
2、扩展Thread类实现的多线程例子
package com.dashu.thread; public class TestThread extends Thread{ public TestThread(String name) { super(name); } public void run() { for(int i = 0;i<5;i++){ for(long k= 0; k <100000000;k++); System.out.println(this.getName()+" :"+i); } } public static void main(String[] args) { Thread t1 = new TestThread("王八"); Thread t2 = new TestThread("乌龟"); t1.start(); t2.start(); } }
执行的结果和方法一差不多。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。