E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
并发编程同步锁
线程状态,BLOCKED和WAITING 有什么区别
也就是在多个线程去竞争Synchronized
同步锁
的时候,没有竞争到锁资源的线程,会被阻塞等待,这个时候线程状态就是BLOCKED。
无语堵上西楼
·
2023-10-28 14:30
java面试题
jvm
java
(多线程)
并发编程
的三大基础应用——阻塞队列、定时器、线程池【手搓源码】
9.2阻塞式队列BlockingQueueblockingQueue=newLinkedBlockingQueue();BlockingQueuequeue=newLinkedBlockingQueueblockingQueue=newLinkedBlockingQueue();Threadcustomer=newThread(()->{while(true){try{intvalue=block
编程浩
·
2023-10-28 13:55
JavaEE初阶
java
开发语言
HashMap为什么线程不安全?(附源码)
通过源码看到put/get方法都没有加
同步锁
,多线程情况最容易出现的就是:无法保证上一秒put的值,下一秒get的时候还是原值,所以线程安全还是无法保证。下
一直Tom猫
·
2023-10-28 13:31
Java面试必问知识点
java
并发编程
hashmap
多线程
安全
Java
并发编程
艺术 第三章 Java 内存模型
零散笔记1-锁释放和获取的内存语义当线程释放锁时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存中。当线程获取锁时,JMM会把该线程对应的本地内存置为无效。从而使得被Monitor保护的临界区代码必须从主内存中读取共享变量。对比锁释放-获取的内存语义与Volatile写-读的内存语义可以看出:锁释放与Volatile写有相同的内存语义。锁获取与Volatile读有相同的内存语义。零散笔记2
老衲用清扬
·
2023-10-28 08:25
Python在不同场景下的
并发编程
方案选择
目录一、多线程二、多进程三、异步IO四、优缺点分析五、注意事项总结
并发编程
是软件开发中的重要一环,它允许程序同时处理多个任务,提高程序的运行效率和响应速度。
傻啦嘿哟
·
2023-10-28 08:36
关于python那些事儿
python
开发语言
<多线程章节一> 线程与进程的区别
首先,“
并发编程
”成为不可缺少的一部分随着计算机的进步,单核CPU已经不能解决大部分的技术场景,所以
并发编程
可以充分的利用多核CPU的资源比如,有些任务场景需要等待IO,而在
程序员零零柒
·
2023-10-28 06:54
多线程
java
数据库
面试
Java
并发编程
解析 | 基于JDK源码解析Java领域中并发锁之StampedLock锁的设计思想与实现原理 (三)
——朝槿《朝槿兮年说》写在开头在
并发编程
领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。
朝槿木兮
·
2023-10-28 05:38
什么是CAS?
也称独占锁或者互斥锁,例如java中的synchronized
同步锁
。乐观锁:假设不会发生并发冲突,只有在最后更新共享资源的时候会判断一下在此期间有没有别的线程修改了这个共享资源。
b335eb9201c3
·
2023-10-28 04:54
mybatis 连接池探究
起因是目前再看《Java
并发编程
的艺术》并发基础那章实现了一个简单的连接池,虽然只是为了展示等待/通知,但是我对平时常用的mybatis的连接池是怎么实现的感到很好奇,所以就有了这次的记录。
上重楼
·
2023-10-28 02:54
《Java
并发编程
之美》学习笔记
成功上岸,进入华为,之前花5W买的JAVA课程合集,整整420集,拿走不谢,公粮上交,手把手教学,学完即可就业_哔哩哔哩_bilibili1.
并发编程
基础1.1什么是线程线程是进程中的一个实体,线程本身是不会独立存在的
jmysql
·
2023-10-28 01:18
java
学习
大数据
并发编程
- 并发可见性,原子性,有序性 与 JMM内存模型
1.并发三大特性
并发编程
Bug的源头:原子性、可见性和有序性问题1.1原子性一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。
长情知热爱
·
2023-10-28 00:16
java
数据库
开发语言
并发编程
-线程池ThreadPoolExecutor底层原理分析(二)
1、线程池中基本属性和方法源码解析2、线程池的五种状态变换源码分析3、线程池添加线程源码解析4、线程池线程运行执行任务源码解析5、线程池shutdown源码解析6、线程池中线程退出机制源码解析线程池源码的基础属性和方法在线程池的源码中,会通过一个AtomicInteger类型的变量ctl,来表示线程池的状态和当前线程池中的工作线程数量。一个Integer占4个字节,也就是32个bit,线程池有5个
长情知热爱
·
2023-10-28 00:46
java
开发语言
1024程序员节
并发编程
-线程池ForkJoinPool工作原理分析
由一道算法题引发的思考算法题:如何充分利用多核CPU的性能,快速对一个2千万大小的数组进行排序?分解求解合并这道算法题可以拆解来看:1)首先这是一道排序的算法题,而且是需要使用高效的排序算法对2千万大小的数组进行排序,可以考虑使用快速排序或者归并排序。2)可以使用多线程并行排序算法来充分利用多核CPU的性能。2.基于归并排序算法实现对于大小为2千万的数组进行快速排序,可以使用高效的归并排序算法来实
长情知热爱
·
2023-10-28 00:46
算法
并发编程
之线程池
目录一、线程池基本概念二、线程池常用队列LinkedBlockingQueueDelayQueueSynchronousQueueTransferQueue三、拒绝策略四、jdk自带线程池SingleThreadPoolCachedThreadPoolFixedThreadPoolScheduledThreadPool五、部分线程池源码六、两个特殊的线程池WorkStealingPoolForkJ
、风筝
·
2023-10-28 00:15
多线程
java
黑马
并发编程
(AQS源码分析、线程池)
AQS源码分析、线程池8.线程池1.自定义线程池阻塞队列优化队列线程池执行和线程处理设计线程池执行的整个思路阻塞添加拒绝策略2.ThreadExecutor线程池状态线程池参数拒绝策略newFixedThreadPoolnewCacheThreadPoolnewSingleThreadPoolsubmitinvokeAllinvokeAny关闭线程shutdownshutdownNow其它方法设计
月亮的-影子
·
2023-10-28 00:44
JUC
rabbitmq
并发编程
笔记-线程池
一、线程池1.简介线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。合理地使用线程池能够带来的好处:1)通过重复利用已创建的线程降低资源消耗;2)提高任务的响应速度;3)使用线程池可以对线程进行统一分配、调优和监控。2.实现原理线程池是一组线程的集合,当提交一个新任务到线程池时,处理流程大致如下:1)线程池判断核心线程池里的线程是否都在执行任务
dukay0319
·
2023-10-28 00:14
并发编程
并发编程
并发编程
- 线程池ForkJoinPool工作原理分析(实践)
数据结构加油站:ComparisonSortingVisualization并发设计模式单线程归并排序publicclassMergeSort{privatefinalint[]arrayToSort;//要排序的数组privatefinalintthreshold;//拆分的阈值,低于此阈值就不再进行拆分publicMergeSort(finalint[]arrayToSort,finalint
长情知热爱
·
2023-10-28 00:13
java
什么是可重入,什么是可重入锁? 它用来解决什么问题?
可重入可重入是多线程
并发编程
里面一个比较重要的概念,简单来说,就是在运行的某个函数或者代码,因为抢占资源或者中断等原因导致函数或者代码的运行中断,等待中断程序执行结束后,重新进入到这个函数或者代码中运行
无语堵上西楼
·
2023-10-28 00:50
java面试题
java
开发语言
Android 安卓Kotlin-协程
Kotlin协程是一种轻量级的
并发编程
模型,允许您以同步的方式编写异步代码。它建立在Kotlin的suspend修饰符之上,通过在
第三女神程忆难
·
2023-10-28 00:13
Android更上一层楼
Kotlin上天之路
1024程序员节
《Java
并发编程
之美》笔记
Java
并发编程
之美阅读开源框架的一点心得为什么要看源码由经验不足导致的问题不知道如何去设计,就看当前系统类似需求的设计,然后去仿照设计的时候,考虑不周全工作经验的积累来自于年限与实践,看源码可以扩展思路可以解决经验不足的办法通过学习开源框架
老干妈炒饭
·
2023-10-27 23:40
并发编程
网络编程和数据库的基础操作
第二部分网络编程之osi七层模型和三次握手四次挥手socket#byluffycity.com#概念#应用层httphttpssslsmtpftp#传输层tcpudp端口信息四层路由器四层交换机#tcp#可靠的面向连接的全双工的流式传输效率低#三次握手和四次挥手#三次握手#把图背下来synack#四次挥手#把图背下来finack#黏包:(自定义协议)先发送数据的长度,再发送数据#udp效率高不可靠
aamoy06888
·
2023-10-27 23:58
数据库
操作系统
epoll
每周一书《疯狂Python讲义》分享!
全书内容大致可分为四个部分,第一部分系统讲解了Python的基本语法结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用的内置模块和包,这部分包括正则表达式支持IO编程、数据库编程、
并发编程
shenmanli
·
2023-10-27 20:31
技术知识
python
面试问我,创建多少个线程合适?我该怎么说
防止
并发编程
出错最好的办法就是不写并发程序image既然多线程编程容易出错,为什么它还经久不衰呢?A:那还用说,肯定在某些方面有特长呗,比如你知道的【它很快
码农小光
·
2023-10-27 18:14
并发编程
--阻塞队列
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来存放元素、
守住阳光
·
2023-10-27 18:34
ThreadLocal与synchronized锁(线程同步)的区别
目录标题一、ThreadLocal与
同步锁
二、作用不同、不可替代三、参考一、ThreadLocal与
同步锁
对于多线程资源共享的问题,同步机制(锁)采用了“以时间换空间”的方式,而ThreadLocal采用了
乌鱼鸡汤
·
2023-10-27 16:09
java
java
多线程
ThreadLocal
在Java中避免脏数据,实现线程同步
在Java中,我们大致有以下三种方法来做到线程同步:同步代码块同步方法
同步锁
同步代码块当有两个线程并发访问并修改同一个文件时,如果不进行线程同步,就容易造成异常。我们可以
AmosH
·
2023-10-27 16:09
并发编程
-基础(Thread、FutureTask、Join、Interrupt、守护线程)
基础在学习
并发编程
时,首先需要具备如下几个条件才能让你跟好的阅读该专栏的文章希望你不是一个初学者,对于一些线程安全问题,需要接触过javaWeb开发、Web服务器、分布式框架时才会遇到,所以需要具备一定实际开发经验才能更好的理解到文章中的例子完成
JolyouLu
·
2023-10-27 16:02
JAVA并发编程
多线程
并发编程
Java基础
Java多线程
线程状态
JUC
并发编程
17 | synchronized锁升级
尚硅谷(121-139)Synchronized锁升级入门简介一些面试题:谈谈你对Synchronized的理解synchronized的锁升级在阿里的规范里:高并发时,同步调用应该去考量锁的性能损耗。能用无锁数据结构,就不要用锁;能所区块,就不要所整个方法体;能用对象锁,就不要用类锁。这里有一个原则:尽可能使加锁的代码工作量尽可能小,避免在所代码中调用RPC方法。synchronized可以实现
_之桐_
·
2023-10-27 14:51
——
并发编程
——
java
jvm
开发语言
Java
并发编程
之深入理解线程池原理及实现
如果需要先行了解Java
并发编程
的基础知识,可参考以下随
weixin_34132768
·
2023-10-27 14:47
java
设计模式
数据结构与算法
并发编程
之JMH
前言这是我2021计划中的第一篇文章,今年准备深入探索JUC
并发编程
。也准备梳理出整个体系的JUC相关知识,还请大家多多支持!第一篇文章为啥要选择JMH来展开学习呢?
宋小智
·
2023-10-27 14:44
并发编程
java
【JUC
并发编程
-04】
JUC-
并发编程
04(八)、共享模型之工具1.线程池(1).自定义线程池_任务数小于队列容量(2).自定义线程池_任务数大于队列容量(3).自定义线程池_拒绝策略2.ThreadPoolExecutor
吉士先生
·
2023-10-27 14:03
java
开发语言
【JAVA基础】多线程与线程池
多线程与线程池文章目录多线程与线程池1.相关概念1.1线程调度1.2守护线程2.生命周期3.同步机制/
同步锁
3.1synchronized3.2lock3.3synchronized与Lock的对比4.
比尔高特
·
2023-10-27 12:35
#
01
JAVA基础
java
Java多线程:
并发编程
(三)
一、进程和线程区别?进程:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)。线程:一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也
刻苦的刘同学
·
2023-10-27 10:45
多线程
java
Java
并发编程
40道面试题及答案——面试稳了
1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。文末有福利,思维导图和视频资料等你来领2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。3、死锁与活
Java黎先生
·
2023-10-27 09:21
多线程的学习01
什么是线程线程是为了解决
并发编程
引入的机制,线程相比进程来说更轻量。
DalaQL
·
2023-10-27 06:37
学习
java
开发语言
JUC
并发编程
,线程池(介绍、使用、参数),原子类(Atomic-线程安全),锁机制(Lock),信号量工具类(Tools),并发集合类
一、JUC(java.util.concurrent)
并发编程
Jdk5开始出现JUC:让开发者在多线程编程中更加简单、方便通过JDK内置了一些类、接口、关键字,补充完善了JDK对于
并发编程
支持的“短板”
user__kk
·
2023-10-27 04:17
java
知识点
java
jvm
JUC并发编程
Go语言中的多协程查询切片问题解析与优化
并发编程
是Go语言的重要特性之一,但在多协程查询切片时可能会出现数据竞争和性能问题。本
念广隶
·
2023-10-27 03:15
Go
1024程序员节
go
讲真,我发现这本书有个地方写错了!
可恶的标题党首先,我先说一下我发现的《Java
并发编程
的艺术》写错的地方吧。我手上这本《Java
并发编程
的艺术》的版次是:2019年3月第1版第14次印刷。
why技术
·
2023-10-27 03:32
java技术
面试题
【JAVA】:万字长篇带你了解JAVA
并发编程
【二】
目录【JAVA】:万字长篇带你了解JAVA
并发编程
【二】3.线程池池化技术线程池的概念与作用什么是线程池?
无难事者若执
·
2023-10-27 03:30
Java开发知识
java
多线程
并发
【Qt之QtConcurrent】描述及使用
描述QtConcurrent是一个Qt库中的模块,用于实现多线程
并发编程
。它提供了一些高级API,使得在多核处理器上并行执行代码变得更加容易。
FreeLikeTheWind.
·
2023-10-26 22:51
Qt记录
Qt编程
qt
数据库
开发语言
完美的错误处理:Go 语言最佳实践分享
Go语言是一门非常流行的编程语言,由于其高效的
并发编程
和出色的网络编程能力,越来越受到广大开发者的青睐。在任何编程语言中,错误处理都是非常重要的一环,它关系到程序的健壮性和可靠性。
林欣快滚去学习
·
2023-10-26 22:27
golang
服务器
数据库
Java JUC总结
JavaJUC总结目录JavaJUC简介内存可见性、volatile关键字CAS算法、原子变量ConcurrentHashMap锁分段机制CountDownLatch闭锁Callable接口Lock
同步锁
92年中年大叔
·
2023-10-26 21:30
深入分析AQS实现原理
里面提供了很多
并发编程
中很常用的实用工具类,比如atomic原子操作、比如lock
同步锁
、fork/join等。
b335eb9201c3
·
2023-10-26 20:19
java从入门到精通第四版光盘下载,分享面经!
Part2
并发编程
(架构师筑基必备)
并发编程
都掌握不好,你凭什么写出优质的代码?
Java二叉树
·
2023-10-26 20:32
程序员
面试
后端
java
阿里JAVA架构师面试136题含答案:JVM+spring+分布式+
并发编程
+缓存+网络+数据结构!
此文包含Java面试的各个方面,史上最全,苦心整理最全Java面试题目整理包括基+JVM+算法+数据库优化+算法数据结构+分布式+
并发编程
+缓存等,使用层面广,知识量大,涉及你的知识盲点。
风平浪静如码
·
2023-10-26 17:24
阿里高级Java面试题(首发,70道,带详细答案)
这些题目涵盖了Java核心知识、
并发编程
、性能优化、分布式系统等多个领域,是阿里面
不会敲代码的谌
·
2023-10-26 15:36
java
开发语言
面试
后端
Java高级开发面试题整理
一、
并发编程
1、什么是进程和线程?进程是指程序的一次执行过程,是系统运行程序的基本单位,系统运行一个程序就是一个进程创建、运行、到销毁的过程;一个进程可以有多个线程。
滴丶学生卡
·
2023-10-26 15:32
面试题
java
java面试题
java基础
java进阶
java高级
Python从入门到放弃
目录一、python基础1、计算机基础2、python基础语法3、python基础数据类型4、字符编码5、函数6、模块与包二、面向对象(重要)三、网络与
并发编程
四、MySQL数据库五、前端六、Django
&十一
·
2023-10-26 13:18
python
开发语言
2022-10-10
还有就是看了Spring源码,了解了自定义标签解析的流程,所谓自定义标签就是带前缀的标签如,自己用debug的方式跟了一遍源码,还有就是看了
并发编程
,看的比较懵。
爱吃的H先生
·
2023-10-26 12:14
(九)深入分析AQS实现原理
里面提供了很多
并发编程
中很常用的实用工具类,比如atomic原子操作、比如lock
同步锁
、fork/join等。
跟着Mic学架构
·
2023-10-26 09:37
上一页
29
30
31
32
33
34
35
36
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他