多线程:
一:线程与进程
进程:指一个内存中运行的应用程序,每一个进程都有一个独立的内存空间
线程:是进程中的一个执行路径,共享一个内存空间,县城之间可以自由的进行切换,并发执行,一个进程最少有一个线程
线程实际上是在一个进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程
二:同步于异步&并发与并行
同步于异步
同步:排队执行,效率低但是安全
异步:同时执行,效率高但是数据不安全
并发与并行
并发:两个或多个时间在同一个时间段内发生
并行:两个或多个时间在同时发生
三:继承Thread
①要继承Thread要现在创建类的同时继承Thread类,继承Thread之后就必须要写一个run的重写方法。
②而所谓的run方法就是,线程要执行的任务方法,run方法的代码是一条新的代码执行路径。
③而这个执行路径的触发方式,不是调用run方法,而是通过Thread对象的start()来启动任务。
④Thread的执行路径:程序启动→main线程开启→main方法执行→创建n对象→n个线程开启→开始循环→结束进程
四:实现接口Runnable
实现Runnable接口的类(implements)继承Runnable之后就必须要写一个run的重写方法
要想程序执行起来还是要使用Thread类,但是不用重写任何的类直接new一个Thread
实现Runnable 与 继承Thread相比的优势:
①通过创建任务,然后给线程分配的方式来实现多线程,更适合多个线程同时执行相同任务的情况
②可以避免单继承带来的局限性
③任务与现成本身,提高了线程的健壮性
五;Thread类
Thread():可以通过new Thread()来创建一个线程
Thread(Runnable target):来指定一个线程所要做的任务
Thread(Runnable target,Runnable name):可以给一个任务,还可以给一个名字,可以有getname获取名字
六