【First step to the last one】JAVA多线程整理(一)
来源:互联网 发布:域名代理商源码 编辑:程序博客网 时间:2024/05/16 11:30
㈠新建线程
在java中,新建线程有两种方式:继承Thread类、实现Runnable接口。这两种方式都需要重写run()方法。
(1)继承Thread类:
class Test_1 extends Thread{@Overridepublic void run(){System.out.println("extends Thread");}}(2)实现Runnable接口:
class Test_2 implements Runnable{@Overridepublic void run() {// TODO Auto-generated method stubSystem.out.println("Implements Runnable");}}
注:Thread本身就实现了Runnable接口,Java中只能但继承,但可以实现多个接口,所以推荐使用实现Runnable接口的方式来新建线程。
㈡启动线程
新建线程分为两种方式,启动线程时也需要分为两种方式。要启动线程,就要调用线程的start()方法,这样处于启动状态下的线程就会执行线程中run()方法里的代码。
(1)继承Thread类的启动方法(新建线程如上,如下代码直接引用):
public static void main(String[] args){Test_1 t1 = new Test_1(); //创建本类对象t1.start(); //启动线程}(2)实现Runnable接口的启动方法:
public static void main(String[] args){Test_2 t2 = new Test_2(); //定义本类对象Thread td = new Thread(t2); //定义线程对象td.start(); //驱动线程}注:初学者可能会提出疑问:既然线程中的run()方法才是真正实现线程逻辑的,那么为什么在启动线程时直接调用run()方法呢?
这里需要注意,调用线程的start()方法,与直接调用run()函数,在某些情况下运行结果可能相同,但是本质上截然不同的。start()方法虽然启动了线程,但是一个线程要真正工作起来需要很多约束条件,并不是马上就会执行,只是处于就绪状态,线程需要等待CPU的进程调度机制,它的状态才会由就绪状态转换为执行状态。run()是表示线程的运行,是线程对象的一个方法,是线程执行时具体的代码逻辑,调用run()方法并不是启动线程的标志。
0 0
- 【First step to the last one】JAVA多线程整理(一)
- 【First step to the last one】JAVA多线程整理(二)--线程同步、休眠、终止
- 【First step to the last one】JAVA多线程整理(三)--线程属性、线程的等待唤醒、线程锁释放
- The first step to success.....
- THe first step to Xmind
- One Step By One Step 解析OkHttp3 - Dispatcher (一)
- The first step of Java[1]
- The first step of Java[2]
- The first step of Java[3]
- The first step of Java[4]
- The first step of Java[5]
- The first step of Java[6]
- The first step of Java[7]
- The first step of Java[8]
- The first step of Java[9]
- The first step of Java[10]
- The first step of Java[11]
- The first step of Java[12]
- kickstart配置文件详解
- 有哪些实用的计算机相关技能,可以在一天内学会 (有个SVN和GIT的)
- glib配置错误(gtk-doc、libtool、automaker、autoconf的安装)
- hdu 1358 Period
- 类模板
- 【First step to the last one】JAVA多线程整理(一)
- 示波器探头×1和×10的意义
- 802.11速率计算
- javascript中的正则表达式(来自W3C)
- 给Eclipse提速的7个技巧
- Ryu eventlet学习总结
- kali-linux VPN设置
- effective c++ ------不要返回指向局部对象指针或引用,该返回对象就返回对象.
- 异步提交上传图片(ajaxSubmit)