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
java并发阻塞队列并发编程
【JUC
并发编程
】7 ReentrantLock锁机制原理/源码分析
文章目录一、Lock原理1、lock()获取锁流程2、unlock()释放锁流程:3、面试题2:为什么非公平锁的性能优于公平锁?二、ReentrantLock源码分析1、变量和构造器2、lock()加锁1)非公平锁的加锁2)公平锁的加锁3、unlock()释放锁一、Lock原理以ReentrantLock为例,其是基于AQS实现的可重入锁。1>ReentrantLock把所有Lock接口的操作都委
秃秃爱健身
·
2023-12-28 07:53
#
精通JUC并发编程
java
java面试题20
答案:多线程是一种
并发编程
的机制,允许程序同时执行多个线程,以实现并行处理和提高程序的效率。在Java中,多线程可以通过使用Thread类或实现Runnable接口来创建和管理线程,可以同时执行多个线
CrazyMax_zh
·
2023-12-28 05:41
java
开发语言
面试官:并发和并行的区别
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-12-28 04:17
面试干货
java
工作记录----CountDownLatch(特别好用的一个工具类)
CountDownLatch是
Java并发
包中的一个同步工具类,它可以让一个或多个线程等待其他线程完成操作。
什么什么啊啊啊
·
2023-12-28 00:46
工作
java
开发语言
【
Java并发
篇】什么是多线程中的上下文切换?
多线程中的上下文切换✔️简述✔️拓展知识仓✔️减少上下文切换✔️简述上下文切换是指CPU从一个线程转到另一个线程时,需要保存当前线程的上下文状态,恢复另一个线程的上下文状态,以便于下一次恢复执行该线程时能够正确地运行。在多线程编程中,上下文切换是一种常见的操作,上下文切换通常是指在一人CPU上,由于多个线程共享CPU时间片,当一个线程的时间片用完后,需要切换到另一个线程运行。此时需要保存当前线程的
昕宝爸爸爱编程
·
2023-12-27 19:39
#
Java并发
java
开发语言
第一章
并发编程
挑战
第一章
并发编程
挑战序言问题调整序言并发的目的是为了程序运行的更快,并不是启动更多的线程就能让程序最大限度地并发执行,但是做好
并发编程
,需要面临一下问题需要去解决,例如:上下文切换、死锁、资源限制问题问题调整即使是单核处理器
我叫果冻
·
2023-12-27 19:18
并发编程那些年
java
服务器
数据库
Go语言
并发编程
艺术:从基础到高级实践
欢迎来到本篇博客,我们将带你进入Go语言
并发编程
的引人入胜的艺术世界。并发是Go语言的一项强大特性,允许你以高效、可伸缩的方式处理并行任务。
乔明飞
·
2023-12-27 16:05
开发语言
golang
开发语言
Python的rabbitMQ
生产者和消费者彼此之间不直接通讯,而通过
阻塞队列
来进行通讯,所以生
Python之好!
·
2023-12-27 13:53
Python
python
队列
交换机
【送书福利-第三十期】《Java面试八股文:高频面试题与求职攻略一本通》
本书内容覆盖了Java基础知识,
并发编程
与多线程,集合原理,JVM原理,I/O与网络编程
桃花键神
·
2023-12-27 11:41
JAVA百解
架构
java并发编程
3——volatile和synchronized的底层
java并发编程
3——volatile和synchronized的底层java代码编译成字节码,然后被类加载器加载到jvm中,jvm执行,最终转换为汇编指令在cpu上执行,java的并发机制其实依赖的是
可爱的小小小狼
·
2023-12-27 09:21
并发编程
java
开发语言
操作系统——多线程
并发编程
数据并行和任务并行数据并行是一种并行计算的模式,其中数据被分割成多个部分,每个部分在独立的处理单元上同时处理。任务并行可以是多个线程操作一个数据,主要区别是将任务划分开了,但
可爱的小小小狼
·
2023-12-27 09:51
linux
网络
系统架构
windows
ubuntu
java
并发编程
2——缓存一致性的底层:MESI协议
MESI协议硬件的缓存一致性是通过,MESI状态转换和嗅探技术实现的。缓存一致性面临的问题:多个CPU内都有自己的缓存,从内存中取出数据放到缓存中从而提高执行效率,但是如果多个CPU缓存都存有相同的数据,那么如果多个CPU同时对这个数据进行修改,然后放回内存,就会引起冲突。MESI协议是一种常见的缓存一致性协议,用于处理多处理器系统中的缓存一致性问题。它通过给CPU缓存中的数据标注状态,然后根据状
可爱的小小小狼
·
2023-12-27 09:51
并发编程
缓存
java
系统架构
【go语言】CSP并发机制与Actor模型
一、多线程共享内存1.概念多线程共享内存模型是一种
并发编程
模型,其中多个线程在同一个进程的地址空间中共享相同的内存区域。
三水木_
·
2023-12-27 08:38
go
数据库
golang
并发
数据库基础面试第二弹
1.乐观锁和悲观锁的理解及使用乐观锁和悲观锁是在
并发编程
中使用的两种并发控制机制,用于解决多线程或多进程环境下的数据一致性问题。
软件测试潇潇
·
2023-12-27 06:24
软件测试
数据库
面试
java
软件测试
自动化测试
功能测试
程序人生
GO基础进阶篇 (九)、临界资源安全问题(锁、channel)
临界资源安全问题在
并发编程
中对临界资源的处理不当,往往会导致数据的不一致问题packagemainimport("fmt""time")funcmain(){a:=1gofunc(){a=2fmt.Println
不可L
·
2023-12-27 06:23
GO语言从基础到应用
golang
服务器
开发语言
平时收集的java八股文,只收集高频和经典,无偿分享
本篇博客将带领读者深入探讨Java领域的一些重要概念和技术,涉及面向对象特征、集合类的选择、
并发编程
、JDK1.8新特性等多个方面。
码农阿豪
·
2023-12-27 05:39
好“物”分享
java
面试收集
Python
并发编程
插播广告:2023年度人气创作者打榜中-帮我打榜吧~https://activity.juejin.cn/rank/2023/writer/272334612598664?utm_campaign=annual_2023&utm_medium=self_web_share&utm_source=_%E5%B1%B1%E6%B5%B7并行与并发的区别并发:宏观上,多个任务同时运行;一个CPU核心交替
carmen_山海
·
2023-12-26 23:45
python基础
python
开发语言
context标准库的介绍和使用
使用上下文的程序应遵循以下规则:保持包之间的接口一致不要在结构类型中存储上下文上下文应该是第一个参数,通常命名为ctx上下文值仅用于传输进程和API的请求范围数据,而不用于向函数传递可选参数context是Golang开发常用的
并发编程
技术
lisus2007
·
2023-12-26 17:41
GO语言
golang
go
分布式信号量(Redis)
什么是信号量信号量,由
并发编程
领域的先锋人物EdsgerWybeDijkstra提出的一种解决同步不同执行线程的方法。
ldxxxxll
·
2023-12-26 15:49
分布式
redis
数据库
JUC
并发编程
来源:【尚硅谷】大厂必备技术之JUC
并发编程
2021最新版1什么是JUC1.1JUC简介在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。
永恒_顺其自然
·
2023-12-26 13:07
java
优化Go语言HTTP应用程序性能的技巧
以下是一些优化Go语言HTTP应用程序性能的技巧:使用goroutine和channelGo语言的goroutine和channel是实现
并发编程
的重要特性。
华科℡云
·
2023-12-26 12:11
网络
linux
http
并发容器之阻塞容器(二)jdk8 SynchronousQueue源码分析
SynchronousQueue应该来说算是
阻塞队列
。一个是因为ImplementsBlockingQueue。
sadamu0912
·
2023-12-26 11:45
go与c对比
并发编程
Keep forward upup
·
2023-12-26 09:36
go语言
C语言
golang
c语言
java
java 和go的区别
Go:更倾向于简洁和效率,支持
并发编程
,但不是纯粹的面向对象语言,没有提供类和继承。性能和效率Java:运行在Java虚拟机(JVM)上,拥有成熟的JIT(Just
Keep forward upup
·
2023-12-26 09:36
go语言
Java基础
java
golang
开发语言
二、
Java并发
之Fork-Join
Fork/Join是
Java并发编程
中的一个重要概念,它基于"分治"(divideandconquer)的思想,尝试将所有可用的处理器内核使用起来帮助加速并行处理。
mntalk
·
2023-12-26 08:59
Java并发
java
开发语言
三、
Java并发
之线程池详解
一、线程池的基本概念线程池是
Java并发编程
中的一种重要技术,它通过预先创建一定数量的线程,并将这些线程放入一个池中,等待任务到来。当有任务到来时,线程池会从池中取出可用的线程来执行任务。
mntalk
·
2023-12-26 08:59
Java并发
java
python
开发语言
一、
Java并发
之ExecutorService
ExecutorService是Javajava.util.concurrent包的重要组成部分,是JavaJDK提供的框架,用于简化异步模式下任务的执行。一般来说,ExecutorService会自动提供一个线程池和相关API,用于为其分配任务。实例化ExecutorService实例化ExecutorService的方式有两种:一种是工厂方法,另一种是直接创建。工厂方法创建ExecutorSe
mntalk
·
2023-12-26 08:29
Java并发
java
python
开发语言
双端队列、优先级队列、
阻塞队列
双端队列、优先级队列、
阻塞队列
文章目录双端队列、优先级队列、
阻塞队列
1双端队列1.1概述1.2应用实例1.2.1双端链表实现1.2.2数组实现1.2.3测试代码1.3课后作业-LeeTCode1032.
小小低头哥
·
2023-12-26 08:13
数据结构与算法
算法
java
idea
一篇文章彻底搞懂JMM和
并发编程
三大特性(深度剖析,
java并发编程
必须了解)
2、
并发编程
会贷来什么问题3、CPU和缓存一致性4、处理器优化和指令重排二、JMM到底是什么(java内存模型)?
未闻花名丶丶
·
2023-12-26 04:14
并发编程
java
GO语言基础笔记(四):
并发编程
基础
目录Goroutines通道(Channel)代码示例Goroutines定义与特点:Goroutines是Go语言中实现并发的基本单位。它比传统的线程更轻量级,拥有更小的内存占用和更快的启动时间。在Go程序中,您可以轻松地启动成千上万的Goroutines。使用方法:使用go关键字后跟一个函数调用,即可启动一个Goroutine。例如:gomyFunction()packagemainimpor
Thomas_Lbw
·
2023-12-26 03:43
Go
golang
笔记
开发语言
Java并发
(二十)----synchronized原理进阶
1、小故事故事角色老王-JVM小南-线程小女-线程房间-对象房间门上-防盗锁-Monitor-重量级锁房间门上-小南书包-轻量级锁房间门上-刻上小南大名-偏向锁-对象专属于某个线程使用批量重刻名-一个类的偏向锁撤销到达20阈值-批量重偏向不能刻名字-批量撤销该类对象的偏向锁,设置该类不可偏向小南要使用房间保证计算不被其它人干扰(原子性),最初,他用的是防盗锁,当上下文切换时,锁住门。这样,即使他离
|旧市拾荒|
·
2023-12-26 03:32
#
Java并发
java
开发语言
jvm
Java并发
(十八)----常见线程安全类及实例分析
1、常见线程安全类StringIntegerStringBufferRandomVectorHashtablejava.util.concurrent(JUC)包下的类这里说它们是线程安全的是指,多个线程调用它们同一个实例的某个方法时,是线程安全的。Hashtabletable=newHashtable();newThread(()->{ table.put("key","value1");}
|旧市拾荒|
·
2023-12-26 03:02
#
Java并发
java
开发语言
Java并发
(十九)----Monitor原理及Synchronized原理
1、Java对象头以32位虚拟机为例普通对象|--------------------------------------------------------------|| ObjectHeader(64bits) ||------------------------------------|-------------------------|| Mark
|旧市拾荒|
·
2023-12-26 03:02
#
Java并发
java
开发语言
Java并发
(二十一)----wait notify介绍
1、小故事-为什么需要wait由于条件不满足(没烟干不了活啊,等小M把烟送过来),小南不能继续进行计算但小南如果一直占用着锁,其它人就得一直阻塞,效率太低于是老王单开了一间休息室(调用wait方法),让小南到休息室(WaitSet)等着去了,但这时锁释放开,其它人可以由老王随机安排进屋直到小M将烟送来,大叫一声[你的烟到了](调用notify方法)小南于是可以离开休息室,重新进入竞争锁的队列2、w
|旧市拾荒|
·
2023-12-26 03:31
#
Java并发
java
linux
服务器
BlockingQueue解析
BlockingQueue其实就是
阻塞队列
,是基于阻塞机制实现的线程安全的队列。
刀锋0001
·
2023-12-26 02:44
java
开发语言
Java 后端开发学习路线
图片版思维导图在底部编程基础Java语言语言基础基础语法面向对象接口容器异常泛型反射注解I/O图形化(如Swing)JVM类加载机制字节码执行机制JVM内存模型GC垃圾回收JVM性能监控与故障定位JVM调优并发/多线程
并发编程
基础线程池锁并发容器原子类
三尺青锋丶
·
2023-12-26 00:39
使用通道和模式
通过通道、选择语句和最佳实践掌握Go中的
并发编程
并发编程
是构建高效和响应迅速的软件的强大范例。Go,也被称为Golang,通过通道提供了一种健壮且优雅的解决方案来进行并发通信。
技术的游戏
·
2023-12-26 00:53
爬虫
揭秘 Go 中 Goroutines 轻量级并发
Goroutines解释Goroutine是Go编程语言中
并发编程
的基本构建块。它本质上是一个轻量级的
技术的游戏
·
2023-12-26 00:22
golang
开发语言
后端
Go语言中的`sync`包同步原语
通过sync包掌握Go语言的并发并发是现代软件开发的基本方面,而Go(也称为Golang)为
并发编程
提供了一套强大的工具。在Go中用于管理并发的基本包之一是sync包。
技术的游戏
·
2023-12-26 00:52
golang
开发语言
后端
【
并发编程
系列4】JMM中happens-before规则和as-if-serial语义
先行发生原则(happens-before)我们知道,在Java内存模型中,如果要确保有序性可以靠volatile和synchronized来实现,但是如果所有的有序性都仅仅依靠这两个关键字来完成,那么有一些操作将会变得很繁琐,但是我们在编写Java代码的时候并没有感觉到这一点,这是因为Java语言中有一个“先行发生(happens-before)”的原则。那么happens-before到底是什
刀哥说Java
·
2023-12-25 18:57
并发编程
记录(一)--单线程、多线程、多进程对比
Python实现
并发编程
多线程多进程协程(生成器)
并发编程
的基本概念串行:一个人在一段时间段内只能干一件事情(吃完饭后才能看电视)并行:一个人在一段时间内同时干多件事情(边吃饭边看电视)在Python中
憧憬001
·
2023-12-25 17:30
初始go语言
6.支持
并发编程
7.错误处理机制。不同的错误处理机制,节省代码。8.反射9.语言的交互性。(和c语言)
混世太保
·
2023-12-25 15:19
【
并发编程
篇】定义最大线程的方法
文章目录省流️前言CPU密集型代码实现IO密集型省流池的最大大小如何去设置使用CPU密集型和IO密集型这2种方法️前言上一篇文章我们讲解了自定义线程池的方法,里面提到了最大线程池那么,到底应该怎么去定义最大线程呢CPU密集型通常情况下,计算机系统的处理能力取决于两个主要因素:处理器核心数量和线程数。处理器核心表示处理器上的物理处理单元数量,而线程是操作系统调度处理器执行任务的最小单位。在一个C
在下小吉.
·
2023-12-25 15:17
并发编程
java
性能优化
开发语言
【
并发编程
篇】读锁readLock()和写锁writeLock()
文章目录情景引入⭐解决问题readLock()和writeLock()都是ReadWriteLock接口中定义的方法,用于获取读锁和写锁。readLock()方法返回一个读锁,允许多个线程同时获取该锁,以进行并发读取操作。如果当前已有一个写锁或其他线程正在请求写锁,则读锁会被阻塞,直到所有写锁请求完成并释放锁为止。读锁和写锁之间是互斥的。writeLock()方法返回一个写锁,只允许一个线程获取该
在下小吉.
·
2023-12-25 15:17
并发编程
java
开发语言
【
并发编程
篇】源码分析,手动创建线程池
文章目录前言Executors的三大方法简述线程池手动创建线程池⭐源码分析✨代码实现,手动创建线程池CallerRunsPolicy()AbortPolicy()DiscardPolicy()DiscardOldestPolicy()前言Executors的三大方法Java中的Executors类提供了创建和管理线程池的工厂方法。主要有以下三种常用的静态工厂方法:newFixedThreadPoo
在下小吉.
·
2023-12-25 15:47
并发编程
开发语言
java并发编程
系列-volatile内存实现和原理
前面的博文说了java的内存模型,介绍了java内存模型的基础,此篇文章来说一下volatile关键字,这个在
并发编程
占有举足轻重地位的关键字。
起个名忒难
·
2023-12-25 14:39
【并发设计模式】聊聊Immutability模式利用不变性解决并发问题
上一篇文章,我们介绍了如何利用二阶段停止协议进行优雅停止线程和线程池,本篇介绍在
并发编程
中数据安全性,我们知道针对于数据的操作,读和写(添加、删除、修改),在并发线程读写的时候,变量不加锁的情况下,一定会有线程安全问题
qxlxi
·
2023-12-25 10:01
#
并发编程
设计模式
java
算法
Java
并发编程
初探 synchronized、volatile、wait、notify
一、新启线程的方式类Thread接口Runnable这两种是在Thread类中官方提到的方法a.joinjoin()方法是让a线程先执行,执行完后继续执行主线程二、线程中断privatestaticclassUseThreadextendsThread{publicUseThread(Stringname){super(name);}@Overridepublicvoidrun(){while(!
子夜听雨
·
2023-12-25 05:48
Java并发编程
java
jvm
开发语言
Java并发
工具类---ForkJoin、countDownlatch、CyclicBarrier、Semaphore
一、ForkJoinforkjoin是JDK7引入的一种并发框架,采用分而治之的思想来处理并发任务ForkJoin框架底层实现了工作窃取,当一个线程完成任务处于空闲状态时,会窃取其他工作线程的任务来做,这样可以充分利用线程来进行并行计算,减少线程竞争。但是在某些情况下也会存在竞争。ForkJoin框架局限性:1.拆分任务中不应该去执行IO操作2.任务不能检查抛出异常,必须通过必要的代码来抛出异常。
子夜听雨
·
2023-12-25 05:48
Java并发编程
java
开发语言
【并发设计模式】聊聊两阶段终止模式如何优雅终止线程
在
并发编程
中,针对线程的操作,也抽象出对应的并发设计模式。
qxlxi
·
2023-12-25 04:01
#
并发编程
设计模式
java
开发语言
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他