Java_线程-Thread

来源:互联网 发布:thinkphp投票系统源码 编辑:程序博客网 时间:2024/05/17 23:58


线程,在平时编程中是经常用到的,例如:多线程下载,Android请求网络等等。。。


线程实现的两种方式:继承Thread或者实现Runnable接口

先来说说步骤:

继承Thread的步骤:

1,定义一个线程类,使其继承自Thread类。

2,复写Thread类中的run()方法。

3,调用线程的start()方法。

实现Runnable接口的步骤:

1,实现Runnable接口

2,覆盖run()方法

3,通过Thread类来建立线程对象

4,调用Runnable接口的子类对象作为实际参数传递给Thread类的构造函数

5,调用Thread的start()方法。


看见没有,上面两种线程的实现方式在最后调用的时候都有个共同点,就是调用其start()方法。start()方法很简单,启动线程,实际上是调用线程中的run()方法。


然后来看看这两种方式分别是怎么写的?

继承Thread


已经写好了,看一下怎么用?


用就比较简单了,直接new一个线程的对象,然后调用它的start();即可

也可以使用方式二,这两种没什么多大的区别。


实现Runnable接口


一个已经实现了Runnable接口的RunnableExample类。


使用:直接new一个Thread,里面传入一个匿名的已经实现了Runnable接口的类的对象,然后调用start();


其实也可以这样做:


这样是不是更直接。嘿嘿。。。


最后来看看两种实现方式的区别:

1,java和C++有一点不同的是:java是单继承的,而C++是多继承的。所以,继承了一个类后就不能继承其他类了,而接口是可以一次实现多个。

所以:实现Runnable接口可以有效的避免单继承的局限性

2,实现Runnable接口的方式有利于代码的健壮性,代码可以被多个线程共享,代码和数据是独立的。


线程的基本使用先说到这里。。。

线程篇:

Java_线程-Thread

Java_线程—经典的例子:售票

Java_线程—经典的例子:生产者和消费者


java_多线程下载


0 0
原创粉丝点击