Day8 多线程基础概念的学习
Day8 多线程学习
多线程
多任务
任务就是需要完成的一件事,多任务可能在同一时间解决,或者按步一个一个解决。
通过多条道路解决原来一条道路堵塞的问题,多线程。
就是同一时间同时完成两件或多件时期,比如main函数要调用一个方法,就是执行完方法后再继续执行main函数,而多线程就可以同时执行main函数和方法。
程序 进程 线程
程序是指令和数据的有序集合,本身没有任何运行的含义,是一个静态的概念。
进程是执行程序一次执行的过程,是一个动态的概念,是系统资源分配的单位。
一个进程可以有多个线程。 线程是CPU调度和执行的单位
线程就是独立的执行路径
main()称为主线程,为系统的入口,用来执行整个程序
对一份资源进行操作时,会存在资源抢夺的问题,需要加入并发控制。
继承Thread类
垃圾回收线程gc 由jvm提供 可以叫守护线程
Thread是一个类,创建线程。通过继承。
Runnable接口,也是被Thread所实现。
callable接口线程,现在了解即可,后面重要。
创建一个新的执行线程有两种方法,一是将一个类声明为Thread的子类,也就是继承Thread类。这个子类应该重写run类方法Thread。然后可以分配启动子类的实例。创建对象后调用start方法即可启动。
cpu只有一个,多线程也就是多件事交替进行,由于处理太快看起来像同时进行的。在主函数中new一个Thread的子类的实例,运行start即可开始多线程,而运行run则是正常的调用方法。
思考
线程开启不一定立即执行,因为CPU在一个时间只能执行一个事务,不过由于线程的调用,新线程会与原来的主线程交替被CPU执行,今天了解一些基础的知识,明天开始多学多线程。