首页 > 代码库 > java-多线程篇
java-多线程篇
1.线程和进程的概念
1.1.进程(Process):拥有独立的内存空间,每个独立执行的程序称为进程
?1.2.线程(Thread):线程是一个程序内部的一条执行路径,Java虚拟机允许应用程序并发地运行多个执行线程
?1.3.线程和进程的区别
每个进程都有独立的代码和数据空间(进程上下文),进程间的切换开销大
线程: 同一进程内的线程共享代码和数据空间,线程切换的开销小
多进程: 在操作系统中能同时运行多个任务(程序)
多线程: 在同一应用程序中多条执行路径同时执行
2.线程的创建与启动
第一种:继承Thread类,重写run方法
第二种:实现Runnable接口,重写run方法
3.两种创建方式的比较
?3.1使用Runnable接口
还可以从其他类继承;
保持程序风格的一致性。
?3.2直接继承Thread类
不能再从其他类继承;
编写简单,可以直接操纵线程
?使用实现Runnable接口的方式创建线程时可以为相同程序代码的多个线程提供共享的数据。
4.线程小结
?4.1.Java的线程是通过java.lang.Thread类来实现的。
?4.2.当程序启动运行时,JVM会产生一个线程(主线程),主方法(main方法)就是在这个线程上运行的。
?4.3.可以通过创建Thread的实例来创建新的线程。
a.每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。
b.通过调用Thread类的start()方法来启动一个线程。线程进入Runnable(可运行)状态,它将向线程
调度器注册这个线程。
c.调用start()方法并不一定马上会执行这个线程,正如上面所说,它只是进入Runnable 而不是Running。
? 注意,不要直接在程序中调用线程的run()方法。
5.线程的基本使用方法
java-多线程篇