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-并发编程
并发编程
-读写锁ReentrantReadWriteLock详解 & StampLock详解
现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁(读多写少)。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源(读读共享);但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写操作了(读写,写写互斥)。思考:针对这种场景,有没有比ReentrantLock更好的方案?1.读写锁介绍读写锁ReadWriteL
长情知热爱
·
2023-10-22 09:10
java
redis
数据库
并发编程
-线程池ThreadPoolExecutor底层原理分析(一)
问题:线程池的核心线程数、最大线程数该如何设置?线程池执行任务的具体流程是怎样的?线程池的五种状态是如何流转的?线程池中的线程是如何关闭的?线程池为什么一定得是阻塞队列?线程发生异常,会被移出线程池吗?Tomcat是如何自定义线程池的?线程池执行任务的具体流程是怎样的?ThreadPoolExecutor中提供了两种执行任务的方法:1.voidexecute(Runnablecommand)2.F
长情知热爱
·
2023-10-22 09:01
java
Java
并发编程
实战(4)- 死锁
在这篇文章中,我们主要讨论一下死锁及其解决办法。概述在上一篇文章中,我们讨论了如何使用一个互斥锁去保护多个资源,以银行账户转账为例,当时给出的解决方法是基于Class对象创建互斥锁。这样虽然解决了同步的问题,但是能在现实中使用吗?答案是不可以,尤其是在高并发的情况下,原因是我们使用的互斥锁的范围太大,以转账为例,我们的做法会锁定整个账户Class对象,这样会导致转账操作只能串行进行,但是在实际场景
技术修行者
·
2023-10-22 08:11
Java
并发编程
71道面试题及答案
1、在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:虚拟机(JVM)何时离
极课编程
·
2023-10-22 04:44
JVM垃圾回收学习总结一
p=11.JVM与java体系结构简介
java-
跨平台的语言:java运行都需要编译成字节码文件,字节码文件依托于jvm运行;jvm-跨语言的平台:Kotlin\js\scala等语言只需要提供编译器编译成字节码文件即可在
八百标兵北坡奔
·
2023-10-22 02:05
jvm
java
python tornado高并发_Tornado从入门到进阶 打造支持高并发的技术论坛
可以针对高并发场景提供并发解决方案,成为很多大中型公司开发高并发/微服务项目的首选框架,在__bobby老师的这门课程中,从tornado的基础开发到项目实战进行系统讲解,覆盖理论与实践,完成本课程可以更透彻的理解异步IO
并发编程
思想
心安乃近
·
2023-10-21 23:27
python
tornado高并发
Java-
面试链表-反转链表
目录题目介绍:题目分析1、切割2、反转3、拼接全部代码:题目介绍:题目分析与另外一个反转链表相似,不同点是:本题只进行部分反转,所以可以分成三步解题:1.切割--》2.反转--》3.拼接。1、切割切割的目的是后续反转更易进行。需要找到left为前一节点,以便存储left,还需要找到right。为了方便按照left和right移动一个指针prev,建立一个新的链表头,接到head前。ListNode
爆裂突破手
·
2023-10-21 23:11
链表
java
面试
【面试普通人VS高手系列】谈谈你对AQS的理解
AQS是AbstractQueuedSynchronizer的简称,是
并发编程
中比较核心的组件。
跟着Mic学架构
·
2023-10-21 21:17
C++
并发编程
(五)内存模型与原子操作
C++作为操作系统级别的编程语言,委员会的一个目标是令其尽量贴近计算机底层,原子类型(atomic)及其操作应运而生,提供了底层同步操作的功能,只需一两条CPU指令即可实现。标准原子类型不仅能避免未定义操作、防范数据竞争,还能让用户强制线程间的操作服从特定次序,std::mutex和std::future2.3.1标准整数原子类型2.4泛化的std::atomic,内建的原子操作也仅仅支持这些原子
Cvincent976
·
2023-10-21 20:09
C++并发
c++
为何说只有 1 种实现线程的方法?
实现线程是
并发编程
中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。
小熊学Java
·
2023-10-21 19:23
并发编程
java
线程
多线程
Java
并发编程
JUC:CyclicBarrier线程同步
java.util.concurrent.CyclicBarrier提供了一种多线程彼此等待的同步机制,可以把它理解成一个障碍,所有先到达这个障碍的线程都将将处于等待状态,直到所有线程都到达这个障碍处,所有线程才能继续执行。举个例子:CyclicBarrier的同步方式有点像朋友们约好了去旅游,在景点入口处集合,这个景点入口就是一个Barrier障碍,等待大家都到了才一起进入景点游览参观。进入景点
该用户快成仙了
·
2023-10-21 19:50
java
并发编程
juc
后端
java
并发编程
JUC第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了java
并发编程
的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue
nidongla
·
2023-10-21 19:46
【
并发编程
】异步编程CompletableFuture实战
文章目录1.CompletableFuture简介2.CompletableFuture核心API实战3.CompletableFuture嵌套案例实战4.合并两个CompletableFuture案例实战5.多个CompletableFuture任务组合调度实战1.CompletableFuture简介在JDK8之前,我们使用的Java多线程变成,主要是Thread+Runnable来完成,但是
互联网小阿祥
·
2023-10-21 17:58
并发编程
java
开发语言
Java CompletableFuture
并发编程
CompletableFuture简介CompletableFuture在Java里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息。CompletableFuture实现了Future,CompletionStage接口,实现了Future接口就可以兼容现在有线程池框架,而C
思想永无止境
·
2023-10-21 17:26
JavaSE
java
Future
多线程
并发编程
juc
Java
并发编程
—CompletableFuture的介绍和使用
在博主上一篇博客介绍中,Java
并发编程
—java异步Future的迭代过程_小魏快起床的博客-CSDN博客,这里面给大家分析了Future的使用过程和一些存在的问题,那么针对里面出现的阻塞问题,博主将在这一篇文章给大家介绍清楚一
沐阳gg
·
2023-10-21 17:23
java从入门到入坟
java
开发语言
Java
并发编程
—CompletableFuture的常用方法(建议收藏)
在过去的一段时间里,博主一直在给大家分享多线程
并发编程
里面的关键CompletableFfuture类的各种技术点,
并发编程
作为java开发里面关键点之一,也是大家向上提升重要的一点;对于CompletableFuture
沐阳gg
·
2023-10-21 17:52
java从入门到入坟
java
开发语言
jvm
并发编程
之 CompletableFuture
在Java中,如果需要异步执行任务,可以使用线程来实现,但是我们希望线程执行完之后可以获得执行结果,怎么实现呢?JDK1.5中,引入了Future的概念,它可以结合Callable接口来获得线程异步执行完成之后的返回值,但它在使用上存在一定的局限性。所以在JDK1.8中引入了CompletableFuture组件,在Future的基础上提供了更加丰富和完善的功能。1.Future接口Java5新加
搬运Gong
·
2023-10-21 17:51
并发编程
java
并发
Future
JAVA多线程
并发编程
汇总
1创建线程方式继承Thread实现Runnable使用FutureTaskCallable使用线程池ThreadPoolExecutor2查看进程和线程linux:ps-fe查看所有进程ps-fT-p查看进程pid所有线程top-H-p进程id查看进程中的线程java命令jps查看java进程jstack进程id的所有线程状态jconsole图形化3线程运行原理每个线程启动虚拟机就会分配一块栈内存
栗子lsp
·
2023-10-21 17:20
多线程
java
html
servlet
Java
并发编程
——CompletableFuture类
从Future接口开始java.util.concurrent.Future接口是Java5添加的类,用来描述一个异步计算的结果。可以使用该接口的isDone()方法检查计算是否完成,或者使用get()阻塞住调用线程,直到计算完成返回结果,也可以使用cancel()方法停止任务的执行。ExecutorServicees=Executors.newFixedThreadPool(10);Future
GeorgiaStar
·
2023-10-21 17:19
Java学习笔记
java
并发编码
java中
并发编程
CompletableFuture和supplyAsync的用法
在Java中,
并发编程
可以使用CompletableFuture类来实现异步操作和并行任务。
gb4215287
·
2023-10-21 17:48
java
java
python
开发语言
并发编程
CompletableFuture用法
1.配置线程池/***intcorePoolSize,*intmaximumPoolSize,*longkeepAliveTime,*TimeUnitunit,*BlockingQueueworkQueue,*ThreadFactorythreadFactory,*RejectedExecutionHandlerhandler**@return*/@BeanpublicThreadPoolExec
全栈技术负责人
·
2023-10-21 17:45
java
前端
开发语言
死锁-活锁
我在看《
并发编程
实战》的时候了解到这个名次活锁活锁是指活锁同样会发生在多个相互协作的线程间,当他们为了彼此间的响应而相互礼让,使得没有一个线程能够继续前进,那么就发生了活锁。
我是陈炜
·
2023-10-21 16:32
如何更改eclipse的JDK版本
有时候导入一些网上的资源需要更换JDK二、使用步骤1.总结一、有时候导入一些网上的资源需要更换JDK具体操作如下二、使用步骤1.在eclipse上方工具栏找到Window->Preferences,如下图所示:出现如下对话框修改
Java
seven_stars_
·
2023-10-21 15:46
java
eclipse
ide
分布式锁之环境准备
文章目录分布式锁1.传统锁回顾1.1.从减库存聊起1.2.环境准备分布式锁在应用开发中,特别是web工程开发,通常都是
并发编程
,不是多进程就是多线程。
孟德爱吃香菜
·
2023-10-21 14:36
分布式锁
分布式
Python 简单并发的代码记录
简单介绍近期想优化一下API的请求,顺带测试一下
并发编程
能快多少,用到进程、线程,顺带保留一些直接可用的简单的并发代码,方便后期复制粘贴1、urllib3网络请求2、获取函数执行时间(大致的)3、进程的简单实现
码农终结者
·
2023-10-21 13:02
实用类
运维
python
开发语言
java 1 9随机数_
Java-
随机数详解
在我们的Java课程中通过游戏案例,我们通过随机数来对每次的攻击伤害值进行了一个赋值,那么Java中还有哪些方法可以产生随机数呢?Java中产生随机数的几种方式,随机数的概念从广义上讲,有三种:1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。PS:这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿
瑜妩
·
2023-10-21 08:00
java
1
9随机数
Java
并发编程
解析 | 如何正确理解线程机制中常见的I/O模型,各自主要用来解决什么问题?
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头作为一名JavaDeveloper,我们都清楚地知道,主要从搭载Linux系统上的服务器程序来说,使用Java编写的是”单进程-多线程"程序,而用C++语言编写的,可能是“单进程-多线程”程序,“多进程-单线程”程序或者是“多进程-多线程”程序。从一定程度上来说,主要由于Java程序并不直接运行在Linux系
marklin
·
2023-10-21 07:54
后端开发
Java
Cloud
Native
[
java-
正则表达式 ] 比较常用的正则表达式
一.校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$正数、负数、和小数:^(\-|\+)?\d+(\
玫城
·
2023-10-21 06:31
Java
正则表达式
java-
各种成员变量初始化过程-待完善
前置条件一、本文章讨论的成员变量publicstaticfinalStringaa="aa";publicstaticfinalIntegerbb=1;publicstaticfinalStudentscc=newStudents();publicstaticStringaa1="aa";publicstaticIntegerbb1=1;publicstaticStringbb2=Test36.A
startyangu
·
2023-10-21 06:42
java
开发语言
并发编程
面试题
文章目录1、为什么要使用
并发编程
?2、缺点3、
并发编程
三要素3.1线程安全问题的原因3.2解决办法4、并行和并发5、线程和进程的区别6、如何在Windows和Linux上查找哪个线程cpu利用率最高?
柚几哥哥
·
2023-10-21 05:25
面试题
java
面试
jvm
12 - volatile 解决可见行和有序性
Java语言提供了一种稍弱的同步机制,即volatile关键字,该关键字可以保证修饰的变量更新操作能够通知到其他线程,并且保证变量执行前后的顺序执行,即能够解决《01-可见性、原子性和有序性问题:
并发编程
坯子蔡
·
2023-10-21 03:06
并发编程
并发编程
多线程
volatile
深入理解
并发编程
和归纳总结
1.AQS(AbstractQueuedSynchronizer)AQS的必要性是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。并发包的大师(DougLea)期望它能够成为实现大部分同步需求的基础。AQS使用方式和其中的设计模式1.getState()2.setState(intnewState)3.compare
Dalvik_
·
2023-10-21 02:23
【JUC
并发编程
- 03】
JUC
并发编程
-03(六)、共享模型之无锁1.问题提出(1).为什么不安全?
吉士先生
·
2023-10-21 01:00
java
redis
开发语言
iOS多线程的锁,你知道多少?
前言iOS开发中由于各种第三方库的高度封装,对锁的使用很少,刚好之前面试中被问到的关于
并发编程
锁的问题,都是一知半解,于是决定整理一下关于iOS中锁的知识,为大家查缺补漏。
iOS__开发者皮皮峰
·
2023-10-20 22:17
Go,从命名开始!Go的关键字和标识符全列表手册和代码示例!
Go语言有25个预定义的关键字,这些关键字用于各种特定目的,从声明变量和函数,到流程控制和
并发编程
。break,defa
Lamb!
·
2023-10-20 21:29
Go
golang
开发语言
后端
【多线程、单线程、异步编程】三个版本--在爬虫中的应用
并发编程
在爬虫中的应用之前的课程,我们已经为大家介绍了Python中的多线程、多进程和异步编程,通过这三种手段,我们可以实现并发或并行编程,这一方面可以加速代码的执行,另一方面也可以带来更好的用户体验。
wusp1994
·
2023-10-20 21:55
爬虫
python
JUC
并发编程
——各种锁的理解(基于狂神说的学习笔记)
各种锁的理解公平锁与非公平锁公平锁:非常公平,不能够插队,先来后到非公平锁:可以插队,比较灵活(默认都是非公平,如:synchronized,lock)//Locklock=newReentrantLock();不带参数的构造方法publicReentrantLock(){sync=newNonfairSync();}//Locklock=newReentrantLock(true);带参数的构造
苏三有春
·
2023-10-20 21:51
JUC并发编程
学习
笔记
java
协程,GIL全局解释器,互斥锁,线程池,Concurrent模块
Python对
并发编程
的支持(1)多线程:threading,利用CPU和IO可以同时执行的原理,让CPU不会干巴巴等待IO完成。
森木在花开
·
2023-10-20 20:05
python
Spring实现多线程
spring通过任务执行器TaskExecutor来实现多线程与
并发编程
。通常使用ThreadPoolTaskExecutor来实现一个基于线程池的TaskExecutor.开启线程池首先你要实现As
IT小池
·
2023-10-20 20:52
Python
并发编程
:多线程技术详解
什么是
并发编程
?
并发编程
是指在计算机程序中同时处理多个任务或操作的编程方式。
冲浪中台
·
2023-10-20 19:17
python
java
数据库
『吴秋霖赠书活动 | 第三期』《Python asyncio
并发编程
》
文章目录1.写在前面2.浅谈asyncio3.Pythonasyncio
并发编程
不再受限于!asyncio异步让你的程序在高并发时翱翔自如!
吴秋霖
·
2023-10-20 17:24
赠书回馈活动
python
开发语言
并发编程
深入理解Java CompletableFuture
并发编程
模型
摘要:本文将介绍Java中的CompletableFuture类,探讨其在
并发编程
中的应用。
JonTang
·
2023-10-20 17:32
Java
java
带你解决java内存爆炸和CPU100%的问题
文章目录
java-
内存爆炸、CPU100%问题分析、定位与解决背景堆内存溢出问题思路整理堆外内存分析问题思路整理CPU100%问题排查引发原因
java-
内存爆炸、CPU100%问题分析、定位与解决背景
yyxx_828
·
2023-10-20 16:40
网易云课堂-微专业Java
Java技术指南「
并发编程
专题」Fork/Join框架基本使用和原理探究(原理及源码篇)
ForkJoin线程池框架回顾ForkJoin框架其实就是一个线程池ExecutorService的实现,通过工作窃取(work-stealing)算法,获取其他线程中未完成的任务来执行。可以充分利用机器的多处理器优势,利用空闲的线程去并行快速完成一个可拆分为小任务的大任务,类似于分治算法。ForkJoin的目标,就是利用所有可用的处理能力来提高程序的响应和性能。本文将介绍ForkJoin框架,源
洛神灬殇
·
2023-10-20 15:36
乐观锁和悲观锁
乐观锁和悲观锁是在
并发编程
中使用的两种不同的锁机制。它们旨在解决多个线程同时访问共享资源时可能出现的并发问题。下面我将简述乐观锁和悲观锁的概念、实现方式以及使用场景。
头发好多
·
2023-10-20 14:54
java
数据库
开发语言
JAVA-
单例模式
首先什么是单例?就一条基本原则,单例对象的类只会被初始化一次。在Java中,我们可以说在JVM中只存在该类的唯一一个对象实例。而要实现一个安全的单例对象,需要考虑一下几个问题:你的单例线程安全吗?你的单例反射安全吗?你的单例序列化安全吗?一、单例的一般实现1、饿汉式publicclassHungrySingleton{privatestaticfinalHungrySingletonmInstan
woshishui1243
·
2023-10-20 13:17
CompletableFuture 使用
文章转载:CompletableFuture详解(JDK1.8新特性、
并发编程
)_别念茶茶的博客-CSDN博客CompletableFuture详解(JDK1.8新特性、
并发编程
)_别念茶茶的博客-CSDN
开水烫蛤蟆
·
2023-10-20 11:28
Java8新特性
java
开发语言
Java
并发编程
-线程池
1.为什么要用线程池Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T
千月落
·
2023-10-20 06:17
Java
java
多线程
并发编程
并发编程
-线程池
线程池为什么需要线程池?每次新开线程去执行任务,运行完任务销毁线程,都会消耗资源(操作系统级别的线程)线程池就可以提前创建线程、保留线程,节约资源、节省掉开辟线程和销毁线程的消耗、提高效率如何设置线程池的核心线程数和最大线程数?CPU密集型任务:依靠CPU去进行计算。线程池开CPU核心数+1个线程(任务线程中断/阻塞的情况,保证CPU仍然有任务执行,充分压榨CPU的性能所以+1)IO密集型任务:网
有梦想的年轻人6174
·
2023-10-20 06:45
java
并发编程
-阻塞队列二
阻塞队列介绍队列先进先出的线性表;一端进行插入,另一端进行删除;允许出队的一端为队头,允许入队的一端为队尾包括数组、链表、延迟队列,天然适合生产者和消费者的模式LinkedBlockingQueue无界阻塞队列,可以指定容量,默认为Integer.MAX_VALUE,先进先出,存取互不干扰由于默认值特别大,也被称作无界队列,但是如果没有剩余内存,会抛出OOM错误。所以为了避免队列过大造成机器负载或
有梦想的年轻人6174
·
2023-10-20 06:15
java
上一页
37
38
39
40
41
42
43
44
下一页
按字母分类:
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
其他