覆盖Thread的start()函数后的注意事项
2009-10-16 16:01
225 查看
package com.tju; public class ThreadDemo extends Thread { private int a = 1; private static int count = 0; @Override public void start() { super.start();// 确保线程创建,调用run()方法 // start()方法被覆盖后,主线程执行这句话 // Thread类的静态方法返回当前线程的引用,然后进行获取线程的名字等操作 System.out.println(currentThread().getName() + ":第" + (++count) + "个线程启动"); } @Override public void run() { System.out.println(currentThread().getName() + ": a = " + a); try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { ThreadDemo thread1 = new ThreadDemo(); ThreadDemo thread2 = new ThreadDemo(); thread1.start(); thread2.start(); } }
注:
1.两个线程共享变量a,即两个线程拥有共同的数据空间,进程不是这样。
2.若覆盖了start()方法,则要先调用super.start()方法,执行Thead类的start()方法,否则子线程不会被启动
相关文章推荐
- JAVA Scanner 用法注意事项(scanner 使用错误:Exception in thread "main" java.util.NoSuchElementExceptionation )
- 库函数注意事项
- 探讨:C++中函数返回引用的注意事项
- JavaScript中各编码解码函数的区别和注意事项
- 使用指针作为函数参数的注意事项
- CSS覆盖height注意事项,暨Chrome插件的使用
- C++默认参数与函数重载 注意事项
- iOS项目中调用C/C++库中的函数注意事项
- VC中程序调用Js自定义函数的注意事项
- TransparentBlt函数使用注意事项
- MyBatis like函数使用注意事项
- C++ 函数返回指针注意事项
- C 函数传递指针参数注意事项
- 【c#】c#中 函数参数的注意事项
- thread 注意事项
- atoll()函数使用注意事项及分析
- 使用CreateThread函数和_beginThreadex函数的注意事项
- Keil C51 中的函数指针使用注意事项
- Python蹒跚学步1:常用函数 和 注意事项
- 在LLVM的C语言编译器中内联纯汇编函数的注意事项