什么叫多线程?
Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为线程。
线程和进程的异同点在哪里?
相同点:他们一样拥有独立的执行控制,由操作系统负责调度。
不同点:线程没有独立的系统资源,同一进程中的所有线程共享进程的系统资源,如存储空间、磁盘文件、打印机等。
由于各个线程的控制流彼此独立,使得各个线程之间的代码是可以按照任何合理的顺序执行,由此带来线程调度和同步等问题。
如何实现线程类?
可以有两种方法:继承Thread类和实现Runnable接口。
由于在Java中不允许一个类继承自多个类,所以实现Runnable接口是常见的方法。
例如:
public class test extends Socket
implements Runnable {
test() {
// ...
}
public void run() {
// ...
}
}
线程间的通信
Java中的线程通信主要有两种方法:管道通信和标识符通信。
管道通信依赖两个类:PipedInputStream和PipedOutputStream。
线程的同步