如何在程序中创造出多条线程?
lJava是通过java.lang.Thread 类的对象来代表线程的。
多线程的创建方式一:继承Thread类
①定义一个子类MyThread继承线程类java.lang.Thread,重写run()方法
②创建MyThread类的对象
③调用线程对象的start()方法启动线程(启动后还是执行run方法的)
方式一优缺点:
优点:编码简单
缺点:线程类已经继承Thread,无法继承其他类,不利于功能的扩展。
1、什么是多线程?线程的代表是谁?线程创建方式一的具体步骤是?
继承Thread类
重写run方法
创建线程对象
调用start()方法启动。
2、线程的第一种创建方式有啥优缺点?
优点:编码简单
缺点:存在单继承的局限性,线程类继承Thread后,不能继承其他类,不便于扩展。
1.线程创建方式二是如何创建线程的?
定义一个线程任务类
MyRunnable
实现
Runnable
接口,重写
run()
方法
创建
MyRunnable
对象
把
MyRunnable
任务对象交给
Thread
线程对象处理。
调用线程对象的
start()
方法启动线程
2.方式二的优缺点是啥?
优点:线程任务类只是实现了
Runnale
接口,可以继续继承和实现。
缺点:如果线程有执行结果是不能直接返回的。/
多线程的第三种创建方式:利用Callable接口、FutureTask类来实
定义一个类实现Callable接口,重写call方法,封装要做的事情,和要返回的数据。
把Callable类型的对象封装成FutureTask(线程任务对象)。
①
、把线程任务对象交给
Thread
对象。
②
、调用
Thread
对象的
start
方法启动线程。
③
、线程执行完毕后、通过
FutureTask
对象的的
get
方法去获取线程任务执行的结果。
1.
缓冲流有几种?
l
字节缓冲输入流:
BufferedInputStream
l
字节缓冲输出流:
BufferedOutputStream
l
字符缓冲输入流:
BufferedReader
l
字符缓冲输出流:
BufferedWriter
2.
字节缓冲流为什么提高了字节流读写数据的性能?
l
字节缓冲流自带
8KB
缓冲区
l
可以提高原始字节流、字符流读写数据的性能
3.
字节缓冲流如何使用?
l
public
BufferedOutputStream
(
OutputStream
os
)
l
public
BufferedInputStream
(
InputStream
is
)
l
功能上并无很大变化,性能提升了。