Java 多线程之多线程原理

2018-10-20  本文已影响0人  弥足小糊涂

一、线程的概念、特点及其作用

二、线程的工作原理

三、多线程的概念、特点及其作用

四、多线程中线程安全的概念及其原理

一、线程的概念、特点及其作用

概念:一个进程中用于处理执行流的最小单位。

特点:1、独立运行,拥有自己的内存资源,例如:栈、PC计数器、方法区

            2、可以共享资源,例如:堆

            3、会占用CPU资源

            4、有生命周期

作用:每一个进程都拥有至少一个线程,是用来处理执行流的最小单位

二、线程的工作原理

线程的工作原理:

一个进程创建成功后会占用底层操作系统中的一个端口,用户可以通过访问这个端口来向应用程序请求相应的服务,进程一旦创建成功后就会创建至少一个线程(默认为进程本身)来执行代码。线程会从相应的内存中获取相应的数据和指令,传给CPU进行计算,CPU将计算后的结果存储在相应的栈中,线程获取相应的运算结果返回给调用者,线程返回原始状态。

三、多线程的概念、特点及其作用

概念:一个进程中拥有多个线程来处理执行流任务。

特点:1、所有线程拥有线程的基本特点

            2、各个线程之间是独立运行的

            3、线程之间可以相互控制,即可以通过一个线程控制另一个线程的状态

作用:1、尽可能的利用现代CPU的多核处理功能,提高资源利用率,加快程序运行速度

            2、利用多线程来处理业务问题,让业务功能的实现变得更加简单

四、多线程中线程安全的概念及其原理

线程安全:JVM中堆内存存放对象实例、数组等信息,对内存是一个共享内存,每个线程都可以进行访问,如果一个程序中有多个线程,因为每个线程之间是相互独立的,它们都有访问和修改堆内存中对象的权利,所以就有可能发生对同一个对象产生“争夺”的现象,从而引发数据被“篡改”的风险,即多个线程在对同一个对象进行操作时,发生数据不定向修改的情况称为线程安全

上一篇 下一篇

猜你喜欢

热点阅读