多线程
文章平均质量分 62
多线程
Quare_feifei
忠愚
展开
-
多线程事务demo
【代码】多线程事务demo。原创 2023-02-13 11:39:49 · 138 阅读 · 0 评论 -
多线程事务demo
【代码】多线程事务demo。原创 2023-01-28 18:28:34 · 275 阅读 · 0 评论 -
springboot开启线程池
定义线程池定义的位置,要在启动类的子包或者同级目录中import lombok.Data;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.EnableAsync;import org.springframework.schedu原创 2021-12-02 22:20:22 · 1885 阅读 · 0 评论 -
线程池概述
线程池什么是线程池我们通常可以new Thread(()->{线程执行的任务}).start()这种形式开启一个线程,当run()方法运行结束后,线程对象会被gc释放在真实的环境中,可能需要很多线程来支撑整个应用,当线程数量非常多的时候,反而会耗尽cpu的资源,如果不对线程进行控制与管理,反而会影响程序的性能,线程开销主要包括:创建启动线程的开销;线程销毁的开销;线程调度的开销,即上下文切换时的开销,而且线程的数量会受限cpu处理器的数量的影响线程池则是有效使用线程的一种常用方式,线程池内部可原创 2021-11-14 17:04:51 · 864 阅读 · 0 评论 -
JMM(java内存模型)
java内存模型jmm即java memory model,即java多线程内存模型,它定义了主存、工作内存抽象概念,底层对应着cpu寄存器、缓存、硬件内存、cpu指令优化等jMM体现在以下几个方面原子性-保证指令不会受线程上下文切换的影响可见性-保证指令不会受cpu缓存的影响有序性-保证指令不会受cpu指令并行优化的影响原子性原子(atomic)就是不可分割的意思,原子操作的不可分割有两层含义:访问(读,写)某个共享变量的操作从其他线程来看,该操作要么已经执行完毕,要么尚未发生,即原创 2021-09-25 00:05:49 · 1771 阅读 · 0 评论 -
多线程的顺序执行
wait¬ify实现多线程的顺序执行package com.cxf.test;public class test5 { public static void main(String[] args) { WaitNofity wn = new WaitNofity(5, 1); new Thread(()->{ wn.print("a",1,2); }).start(); new Thread原创 2021-09-24 23:28:04 · 177 阅读 · 0 评论 -
线程间的通信
线程间的通信等待、通知机制什么是等待通知机制在单线程编程中,要执行的操作需要满足一定的条件才能执行,可以把这个条件放在if语句块中在多线程编程中,可能A线程的条件没有满足只是暂时的,稍后其它的线程B可能会更新条件使得A线程的条件得到满足,可以将A线程暂停,直到它的条件得到满足后再将A线程唤醒,它的伪代码:object类中的wait()方法可以使执行当前代码的线程等待,暂停执行,直到接到通知或被中断为止注意:wait()方法,只能在同步代码块中由锁对象调用调用wait()方法,当前线程会释原创 2021-08-22 23:06:36 · 71 阅读 · 0 评论 -
ThreadLocal类
维持线程封闭性的规范方法是使用ThreadLocal,这个类能使线程中的某个值与保存值的对象关联起来,ThreadLocal提供了get和set等访问接口或方法,这个方法为每个使用该变量的线程都存有一份独立的副本,因此get返回由当前执行线程在调用set时,设置的最新的值。当某个线程初次调用ThreadLocal.get方法时,就会调用initialValue来获取初始的值,从概念上来看可以将ThreadLocal视为包含了Map<Thread,T>对象,其中保存了特定于该线程的值,但Thr.原创 2021-08-21 17:38:30 · 77 阅读 · 0 评论 -
多线程同步
3线程同步3.1线程同步机制简介线程同步机制是一套用于协调线程之间的数据访问的机制,该机制可以保障线程安全java平台提供的线程同步机制包括:锁,volatile关键字,final关键字,static关键字,以及相关的api,如object.wait()/object.notify()等3.2锁线程安全问题的产生前提是多个线程并发访问共享数据。将多个线程对共享数据的并发访问转换为串行访问,即一个共享数据一次只能被一个线程访问,锁就是复用这种思路来保障线程安全的锁(lock)可以理解为对共享数据原创 2021-08-02 20:47:42 · 136 阅读 · 0 评论 -
多线程-线程安全问题
线程安全问题非线程安全主要是指多个线程对同一对象的实例变量进行操作时,会出现值被更改,值不同步的情况线程安全问题表现为三个方面:原子性、可见性、有序性2.1原子性原子(atomic)就是不可分割的意思,原子操作的不可分割有两层含义:访问(读,写)某个共享变量的操作从其他线程来看,该操作要么已经执行完毕,要么尚未发生,即其他线程看不到当前操作的中间结果访问同一组共享变量的原子操作是不能交错的如现实生活中从ATM机取款,对于用户来说,要么操作成功,用户拿到钱,余额减少了增加了一条交易记录,要么原创 2021-07-31 23:46:17 · 225 阅读 · 0 评论 -
多线程概述
线程概述1.1线程相关概念进程进程(process)是计算机中的程序关于某个数据集合的一次运行活动,是操作系统进行资源分配与调度的基本单位,可以把进程简单的理解为正在操作系统中运行的一个程序线程线程(thread)是进程的一个执行单元一个线程就是进程中一个单一顺序的控制流,进程的一个执行分支进程是线程的容器,一个进程至少有一个线程,一个进程中也可以有多个线程,在操作系统中是以进程为单位分配资源,入虚拟存储空间,文件描述符等,每个线程都有各自的线程栈,自己的寄存器环境,自己的线原创 2021-07-30 23:37:17 · 109 阅读 · 0 评论