多线程
多线程 进程 程序执行过程中具有动态性;持有资源和线程,是系统进行资源分配和调度的基本单位 线程 线程的分类 主线程:JVM调用程序mian()所产生的线程。 当前线程:这个是容易混淆的概念。一般指通过Thread.currentThread()来获取的进程。 后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。 前台线程:是指接受后台线程服务的线程,其实前台后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。傀儡是前台线程、幕后操纵者是后台线程。由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。 有时被称为轻量级进程,是程序执行中的最小单元 互斥与交互 线程实现方法 继承Thread类,重写该类的run()方法; 通过实现Runnable接口来创建线程,并重写该线程的run()方法 创建实现Callable和Future创建线程,实现call()方法 创建线程方法的优劣点 采用Runnable()、Callable()接口: 优点:还可以继承其他类,可以实现多个线程共享同一个target对象吗,从而可以将CPU,代码和数据分开,体现了较好的面向对象的思想 劣势:编程较为复杂,如果要访问当前线程需要使用Thread.currentThread()方法