Java基础>20 - 线程基础概念

学习总结:
链接:【Java基础、springboot、springcloud、docker 等,学习目录

一、基本概念

1、进程:
正在运行的程序称为一个进程。负责程序的内存分配(程序启动后就会得到一定的内存空间)。
Java基础>20 - 线程基础概念
注意: 电脑上同时执行多个应用程序。实际上CPU在做一个快速的切换,循环执行多个应用程序。单核的CPU在一个时间片内只能执行一个进程。

2、线程:
在一个进程中负责代码的执行,即进程中的一个执行路径。
3、多线程:
一个进程中多个执行路径同时执行不同的任务。
例:在QQ上聊天的同时传输文件,在扣扣这个进程中执行了聊天和文件传输两个线程。

  • 好处: 一个进程同时执行多个任务,提高资源利用率。并不能提高运行速度。
  • 弊端:
    a、增加CPU负担。
    b、降低了一个进程中线程的执行概率(线程在做CPU资源的争夺战)。
    c、线程安全问题。
    d、死锁问题。

面试:
运行一个java程序,JVM都会创建一个main线程,一个java应用程序至少有两个线程:
1、主线程:负责代码的执行。
2、垃圾回收器线程:负责垃圾的回收。

二、创建线程的两种方式:

请参看下一章
1、继承Thread类。2、实现Runnable接口。