Java多线程学习笔记— “如何理解线程及多线程”
Posted 一切因为是码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程学习笔记— “如何理解线程及多线程”相关的知识,希望对你有一定的参考价值。
一、线程概念:
- 线程是程序中的执行路径;
- 线程(轻量级程序),类似一个程序,有开始、执行、结束,运行在程序内部比进程还要小的单元;
- 使用线程主要应用在于可以在一个程序中实现同时运行多个任务;
- 每个java程序至少拥有一个线程,即主线程。 当一个java程序启动时,JVM会自动创建主线程,并调用main方法。
二、 程序、进程、线程三者关系:
◆程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。
◆而进程则是执行程序的一次执行过程,它是一个动态的概念。 是系统资源分配的单位
◆通常在一个进程中可以包含若干个线程,当然一个进程中至少有一 个线程, 不然没有存在的意义。线程是CPU调度和执行的的单位。
线程是进程的基本单位,进程的功能由线程实现
三、多线程
1.概念
多线程就是同时有多个线程在执行。
在多CPU的计算机中,多线程的实现是真正的物理上的同时执行;
在单CPU的计算机中,实现的只是逻辑上的执行,真正执行的只有一个线程,但CPU速度很快,让人感觉像在同时执行。
2.多进程与多线程的区别:
多进程:各个进程之间的数据块是相互独立的,彼此一般互不影响。(可通过管道、信号等交流)
多线程:各个线程不一定独立,同一任务中各个线程共享数据段、程序段等资源。(由此引入“线程同步”,通过“对象锁”实现在某一时刻的某一资源只能有一个线程访问。)
以上是关于Java多线程学习笔记— “如何理解线程及多线程”的主要内容,如果未能解决你的问题,请参考以下文章