多线程基础,aop回顾

本文回顾了AOP面向切面编程,讲解了其动态代理实现、核心概念及应用场景,如权限校验、日志和事务管理。接着介绍了线程的基本概念,线程与进程的区别,线程的组成包括CPU时间片、运行数据、堆空间和栈空间,以及线程的特点和创建。此外,还涉及线程安全和同步方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.回顾

1.AOP面向切面编程: 作用:业务代码和非业务代码进行解耦。提高程序的可维护性。

2.AOP底层实现按照==动态代理实现==

3.AOP核心概念: 1.切面(切点 连接点 通知)

(1)引入spring-aspect切面依赖

(2)配置文件中开启切面注解

(3)创建切面类 @Aspect @Component

@Pointcut("execution()||@annotation()")

@Before() @After("切点的方法名()") @AfterThrowing @AfterReturning @Around

  1. AOP应用场景: 【1】权限校验 【2】日志 【3】事务管理等

  2. spring管理事务: 使用注解模式

    (1)引入事务管理类 Spring-tx

    (2)配置文件中引入事务管理类 DataSourceTransactionManager

    (3)配置文件中开启事务注解驱动 <tx:annotation-driver />

    (4)在需要事务管理的代码处使用@Transactional注解

2.什么是线程

线程,又称轻量级进程(Light Weight Process)。 进程中的一条执行路径,也是CPU的基本调度单位。 一个进程由一个或多个线程组成,彼此间完成不同的工作, 同时执行,称为多线程。

3.线程和进程的区别

1. 进程是操作系统资源分配的基本单位,而线程是CPU的基本调度单位。

2. 一个程序运行后至少有一个线程。

3. 一个进程可以包含多个线程,但是至少需要有一个线程,否则这个进程是没有意义。

4. 进程间不能共享数据段地址,但是同进程的线程之间可以。

4.线程的组成

任何一个线程都具有基本的组成部分            

CPU时间片: 操作系统(OS)会为每个线程分配执行时间              

运行数据:                

堆空间: 存储线程需要的对象,多个线程可以共享堆中的数据。                

栈空间:  存储线程需使用的局部变量,每个线程都拥有独立的栈。            

线程的逻辑代码.

5.线程的特点

1. 线程抢占式执行

效率高

可防止单一线程长时间独占CPU.

2. 在单核CPU中,宏观上同时执行,微观上顺序执行

6.创建线程

7.常见方法 

 

 

 8.线程安全

 9.同步方式

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值