首页 > 代码库 > 多线程1------------创建线程的两种方法
多线程1------------创建线程的两种方法
package ThreadTest;
public class TraditionalThread01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Thread thread = new Thread(){};//这种写法是Thread的子类
Thread thread = new Thread(){
@Override
public void run() {
while(true){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("1"+Thread.currentThread().getName());//Thread.currentThread()表示当前线程
System.out.println("2"+this.getName());//this 代表run方法所在的对象
}
}
};
thread.start();
// System.out.println(Thread.currentThread().getName());//main
}
}
注意下this表示执行run方法的对象,并不一定是线程,也可能是runnable对象
package ThreadTest; public class TraditionalThread2 { public static void main(String[] args) { // TODO Auto-generated method stub // Thread thread1 = new Thread(){};//这种写法是Thread的子类 Thread thread1 = new Thread() {// 这种方式覆盖父类的run方法 @Override public void run() { while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("1" + Thread.currentThread().getName());// Thread.currentThread()表示当前线程 // System.out.println("2" + this.getName());// this 代表run方法所在的对象 } } }; thread1.start(); Thread thread2 = new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("11" + Thread.currentThread().getName());// Thread.currentThread()表示当前线程 // this 代表run方法所在的对象,是runnable对象,他不是线程没有getName方 // System.out.println("222"+this.getName()); } }); thread2.start(); } }
多线程1------------创建线程的两种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。