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
并发编程JUC
CompletableFuture 使用
文章转载:CompletableFuture详解(JDK1.8新特性、
并发编程
)_别念茶茶的博客-CSDN博客CompletableFuture详解(JDK1.8新特性、
并发编程
)_别念茶茶的博客-CSDN
开水烫蛤蟆
·
2023-10-20 11:28
Java8新特性
java
开发语言
AQS:JAVA经典之锁实现算法(一)
AQS是AbstractQueuedSynchronizer的简称,它也是
JUC
包下众多非原生锁实现的核心。一:AQS基础概况AQS是基于CLH队列算法改进实现的锁机制。
秋裤Boy
·
2023-10-20 08:19
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
并发编程
-线程池底层原理
为什么需要线程池?每次新开线程去执行任务,运行完任务销毁线程,都会消耗资源(操作系统级别的线程)线程池就可以提前创建线程、保留线程,节约资源、节省掉开辟线程和销毁线程的消耗、提高效率线程池的五种状态如何流转?线程池的五种状态,源码注释:/***TherunStateprovidesthemainlifecyclecontrol,takingonvalues:**RUNNING:Acceptnewt
有梦想的年轻人6174
·
2023-10-20 06:15
java
JUC
并发编程
-线程池之ThreadPoolExecutor使用和原理
1.介绍Executor:运行新任务的简单接口,将任务提交和任务执行细节解耦ExecutorService:具备管理执行器和任务生命周期的方法,提交任务机制更完善2.作用提升性能:它们通常在执行大量异步任务时,由于减少了每个任务的调用开销,并且它们提供了一种**限制和管理资源(包括线程)**的方法,使得性能提升明显;统计信息:每个ThreadPoolExecutor保持一些基本的统计信息,例如完成
卑微小童
·
2023-10-20 06:13
java
java forkjoin MySQL_Java
并发编程
(五) ForkJoinPool的使用
一.前言之前在整理线程使用的时候,无意间看到了ForkJoinPool,在JDK1.7时(新)加入的,就学习了如何使用;二.ForkJoinPool使用2.1ForkJoinPool的使用姿势ForkJoinPool采用工作窃取算法,将一个大任务根据阈值分割成很多个子任务,最后根据场景是否要合并子任务运算结果;根据是否需要合并子任务运算结果,任务需要继承抽象类RecursiveAction,Rec
亚马逊-黄耀坤
·
2023-10-20 06:43
java
forkjoin
MySQL
并发编程
从零开始(十六)-ForkJoinPool
并发编程
从零开始(十六)-ForkJoinPool第四部分:ForkJoinPool15ForkJoinPool用法ForkJoinPool就是JDK7提供的一种“分治算法”的多线程并行计算框架。
会编程的老六
·
2023-10-20 06:42
juc
juc
并发编程
4、高
并发编程
-线程池
1、FixedThreadPool固定容量的线程池,线程池默认的容量上限是Integer.MAX_VALUE。常见的线程池容量:pc=200,服务器=1000~10000FixedThreadPool一般由Executors(工具类)来获取,并可以指定线程池的容量。线程池是一个进程级的重量级资源。默认的生命周期和JVM一致。当开启线程池后,知道JVM关闭为止,是线程池的默认生命周期。可以通过调用s
mrsun1
·
2023-10-20 06:10
并发编程
-线程池ForkJoinPool
ForkJoinPool算法题:如何充分利用多核CPU的性能,快速对一个2千万大小的数组进行排序?分治思想:分解求解合并分治思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。分治思想的步骤如下:1、分解:将要解决的问题划分成若干规模较小的同类问题;(子问题不能无限小,所以通常会设置阈值)2、求解:当子问题划分得足够小时,
有梦想的年轻人6174
·
2023-10-20 06:38
java
黑名单实战
packagecom.laoyang.Thread.
JUC
包下的并发容器;importjava.util.Random;importjava.util.concurrent.CopyOnWriteArrayList
玛卡巴咖
·
2023-10-20 04:05
windows
并发容器(Map、List、Set)实战及其原理
一.
JUC
包下的并发容器Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map,大家熟知的这些集合类ArrayList、LinkedList、HashMap这些容器都是非线程安全的
玛卡巴咖
·
2023-10-20 04:00
数据结构
juc
高并发
JVM 并发性: Java 和 Scala 并发性基础
在本系列文章中,您将了解一些针对Java和Scala语言的
并发编程
的新方法,包括
dm520
·
2023-10-20 02:37
java
scala
java
jvm
JUC
概述
什么是
juc
juc
是java中java.util.concurrent包的简称.它位于jdk的rt.jar中,是jdk的核心工具包之一。从字面上来理解就是java并发工具包。
大师艾小伦
·
2023-10-20 02:09
《JAVA编程思想》学习笔记:第21章(并发)
并发编程
:程序能够并行地执行程序中的多个部分。21.1并发的多面性
并发编程
的难点:并发需要解决的问题有多个;实现并发的方式有多种;并且,上述两者之间没有明确的映射关系。
编程家园
·
2023-10-20 02:24
python并发之协程_Python
并发编程
协程(Coroutine)之Gevent
基本概念我们通常所说的协程Coroutine其实是corporateroutine的缩写,直接翻译为协同的例程,一般我们都简称为协程。在linux系统中,线程就是轻量级的进程,而我们通常也把协程称为轻量级的线程即微线程。进程和协程下面对比一下进程和协程的相同点和不同点:相同点:我们都可以把他们看做是一种执行流,执行流可以挂起,并且后面可以在你挂起的地方恢复执行,这实际上都可以看做是continua
weixin_39972996
·
2023-10-20 02:48
python并发之协程
python
并发编程
协程_Python
并发编程
之协程
一什么是协程协程就是指在单个线程的情况下不断的切换执行任务以达到并发的效果,这样可以大大降低对系统资源的消耗.需要强调的是:1.python的线程属于内核级别的,即由操作系统控制调度(如单线程遇到io或执行时间过长就会被迫交出cpu执行权限,切换其他线程运行)2.单线程内开启协程,一旦遇到io,就会从应用程序级别(而非操作系统)控制切换,以此来提升效率(!!!非io操作的切换与效率无关)优点如下:
weixin_39525307
·
2023-10-20 02:48
python并发编程
协程
python并发之协程_Python 之
并发编程
之协程
一.协程'''defgen():foriinrange(10):yieldi#初始化生成七函数返回生成器对象,简称生成器mygen=gen()foriinmygen:print(i)'''#(1)用协程改写成生产者消费者'''defproducer():foriinrange(100):yieldidefconsumer():g=producer()foriing:print(i)'''#(2)协
eternal?
·
2023-10-20 02:48
python并发之协程
python协程 并发数量_Python-
并发编程
(协程)
今天说说协程一.引子本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更高的程序替代了它协程本质上就是一个线程,以前线程任务的切换是由操作系统控
weixin_39812533
·
2023-10-20 02:48
python协程
并发数量
python
并发编程
之协程
摸鱼之余,跟着官方文档把协程这块过了一下。目录体验协程create_task并发执行可等待对象运行asyncio程序编辑创建任务sleep休眠体验协程importasyncioimporttimeasyncdefsay_afeter(delay,msg):awaitasyncio.sleep(delay)print(msg)asyncdeftest():start=time.time()await
白日梦想猿
·
2023-10-20 02:15
协程
python
开发语言
Python
并发编程
系列之协程
1引言协程是近几年
并发编程
的一个热门话题,与Python多进程、多线程相比,协程在很多方面优势明显。本文从协程的定义和意义出发,结合asyncio模块详细讲述协程的使用。
代码输入中...
·
2023-10-20 02:45
python
开发语言
numpy
深度学习
后端
并发编程
之互斥锁
互斥锁锁在IT界都是非常重要的,不但在Python中出现,尤其是数据库中得锁更多,比如:表锁、行锁、悲观锁、乐观锁、进程锁、互斥锁、递归锁、可重入锁、死锁等。互斥锁是什么?将并发变成串行虽然牺牲了程序的执行效率但是保证了数据的安全互斥锁概念同一时间运行一个进程上一把锁,就是Lock。那么我们加锁的意义在哪呢?加锁可以保证多个进程修改同一块数据时,同一时间只能有一个任务可以进行修改,即串行的修改。虽
0Jchen
·
2023-10-20 02:14
网络编程
python
Python之
并发编程
(协程)
文章目录协程代码展示协程实现TCP服务端并发协程我们都知道进程是资源单位线程是执行单位协程是单线程下实现并发(效率极高)在代码层面欺骗CPU让CPU觉得我们的代码里面没有IO操作实际上IO操作被我们自己写的代码检测一旦有立刻让代码执行别的(该技术完全是程序员自己弄出来的名字也是程序员自己起的)核心:自己写代码完成切换+保存状态代码展示importtimefromgeventimportmonkey
0Jchen
·
2023-10-20 02:42
网络编程
python
开发语言
面试问
JUC
(java.util.concurrent)的常见类你能答出来几句?
目录1.Callable接口2.ReentrantLock3.原子类(java.util.concurrent.atomic)4.线程池5.信号量Semaphore6.CountDownLatch1.Callable接口Callable是一个interface.相当于把线程封装了一个“返回值”.方便程序猿借助多线程的方式计算结果.通过下面两个代码实例,可以清晰的看到Callable的优势:现在要求
小小小小关同学
·
2023-10-20 01:17
Java
java
面试
python
从一道面试题开始学习C++标准库提供的
并发编程
工具
一个空列表,用两个函数(只可调用一次)轮流写入值(一个写奇数,一个写偶数),最终实现列表的值为1-100,有序排列。简单分析:假设这两个函数分别为A和B,A函数往列表中写奇数,B函数往列表中写偶数。因为要求交替写,若A先写,则在B写一个偶数之前需要等待A先把上一个奇数写完,B写完一个偶数之后需要通知A,A写完一个奇数之后要通知B,这就存在同步关系了,自然就想到了使用条件变量。而两个函数只可调用一次
coolhuhu~
·
2023-10-20 00:27
cpp
c++
算法
C- 使用原子变量实现信号量
信号量信号量(Semaphore)是
并发编程
中的一个核心同步原语,它在多进程和多线程环境下被设计用来协调不同的执行单元,确保它们在对共享资源的访问上达到同步和互斥。
青衫客36
·
2023-10-20 00:55
工程化C
c语言
2021-06-20
go自从出生就身带“高并发”的标签,其
并发编程
就是由groutine实现的,因其消耗资源低,性能高效,开发成本低的特性而被广泛应用到各种场景,例如服务端开发中使用的HTTP服务,在golangnet/http
陈光岚_强化班
·
2023-10-19 23:32
Golang GMP调度模型:实现高效协程调度和执行
概念GMP调度模型是Golang
并发编程
模型的核心之
一只会写程序的猫
·
2023-10-19 22:15
Go
golang
开发语言
后端
Golang通道(Channel)原理解析
引言
并发编程
是现代软件开发中的一个重要主题。Golang作为一门并发友好的编程语言,提供了一种简单而强大的机制,即通道(Channel),用于在不同的Goroutine之间进行通信和同步。
一只会写程序的猫
·
2023-10-19 22:39
Go
golang
爬虫
JUC
并发编程
——Volatile详解(基于狂神说的学习笔记)
VolatileVolatile是Java虚拟机提供的轻量级的同步机制1、保证可见性publicclassJMMDemo{//在num前添加关键字volatile,保证num在所有线程可见,即修改就被通知privatevolatilestaticintnum=0;publicstaticvoidmain(String[]args)throwsInterruptedException{//主线程ne
苏三有春
·
2023-10-19 21:53
JUC并发编程
学习
笔记
java
JUC
并发编程
——单例模式(基于狂神说的学习笔记)
单例模式饿汉式:packagesingle;//饿汉式单例publicclasshungry{//饿汉式有可能会浪费内存//因为饿汉式在生成对象时,就创建了所有的空间//单例模式构造器私有privatehungry(){}privatefinalstatichungryHUNGRY=newhungry();publicstatichungrygetInstance(){returnHUNGRY;}
苏三有春
·
2023-10-19 21:53
JUC并发编程
单例模式
学习
笔记
java
JUC
并发编程
——JMM详解(基于狂神说得到学习笔记)
JMM什么是JMM(JavaMemoryModel)参考文献JMM概述-CSDN博客内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(JavaMemoryModel,JMM)。因此它不是对物理内存的规范,而是在虚拟机基础上进行的规
苏三有春
·
2023-10-19 21:23
JUC并发编程
学习
笔记
java
JavaEE 初阶 -- 多线程基础
进程池使用线程来实现
并发编程
为什么线程比进程轻量?
且将新火试新茶,诗酒趁年华
·
2023-10-19 21:38
java-ee
java
前端
JUC
并发编程
——CAS与原子引用(基于狂神说的学习笔记)
CASCAS与原子引用涉及到JVM以及更底层的一些知识,笔者会在JVM篇中写的更细致一点什么是CASCAS是Java设置的CPU的并发原语Java是无法直接操作内存的但Java可以调用C++而C++可以操作内存Java可以通过native类调用C++来操作内存CAS=CompareAndSet比较并交换CAS是:比较当前内存中的值和主内存中的值,如果这个值是期望的,那么则执行操作,如果不是就一直循
苏三有春
·
2023-10-19 21:38
JUC并发编程
学习
笔记
java
Java可重入锁(GPT编写)
Java可重入锁是Java
并发编程
中常用的一种锁机制,它可以允许同一个线程多次获取同一个锁,从而避免死锁和其他并发问题。
CodersCoder
·
2023-10-19 13:12
源码
学习
java
开发语言
JDK命令行工具
jps命令类似于linux下的ps,但是只列出java的进程.直接运行jps不加参数,会列出java程序的进场ID,及main函数名称C:\Users\shj>jps42340Jps4106442040
Juc
Application37804Launcher
Hero_孙
·
2023-10-19 13:36
java
开发语言
Python之进程,线程锁,Queue相关
进程锁(multiprocess.Lock)在多线程或多进程
并发编程
中,可能会出现资源竞争的情况,导致数据出错或程序崩溃。为了解决这个问题,可以使用锁机制来控制对共享资源的访问。
森木在花开
·
2023-10-19 12:00
前端
服务器
Go中的工作池:并发任务的优雅管理
工作池是一种
并发编程
模式,它使用一组固定数量的工作线程来执行任务队列中的工作单元。这有助于控制并发,避免资源竞争,并允许更好地利用计算资源。在Go中,工作池通常
林欣快滚去学习
·
2023-10-19 10:56
golang
开发语言
后端
Golang快速入门上手
Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进(访问底层操作系统),它可以进行网络编程、系统编程、
并发编程
、分布式编程。
XXP1186
·
2023-10-19 10:24
go
go语言
Java内存模型FAQ(五)旧的内存模型有什么问题?
转载自
并发编程
网–ifeve.com本文链接地址:Java内存模型FAQ(五)旧的内存模型有什么问题?旧的内存模型中有几个严重的问题。这些问题很难理解,因此被广泛的违背。
灰气球
·
2023-10-19 09:23
Python之
并发编程
(线程)
文章目录一、线程理论二、开设线程的两种方式一、线程理论'什么是线程'进程:资源单位线程:执行单位进程相当于车间(一个个空间),线程相当于车间里面的流水线(真正干活的)'''一个进程中至少有一个线程'''"""进程仅仅是在内存中开辟一块空间(提供线程工作所需的资源)线程真正被CPU执行,线程需要的资源跟所在进程的要"""'为什么要有线程'开设线程的消耗远远小于进程开进程1.申请内存空间2.拷贝代码开
0Jchen
·
2023-10-19 07:43
网络编程
python
java ee定时器_JavaEE开发之Spring中的多线程编程以及任务定时器详解
上篇博客我们详细的聊了Spring中的事件的发送和监听,也就是常说的广播或者通知一类的东西,详情请移步于《
并发编程
,看一下Spring中的多线程编程和任务的定时执行。下方我们就来聊一下这两方面的内容。
挺复杂一人
·
2023-10-19 07:38
java
ee定时器
【JavaEE】 多线程-初阶
一个进程中的线程共享这个进程中的资源(内存、硬盘)2)为什么需要线程单核CPU发展出现瓶颈,想要再提高算力,只能增加CPU个数,
并发编程
就是利用多核CPU的绝佳方式.使用进程也可以实现
并发编程
,只是进程重量大
我焦虑的编程日记
·
2023-10-19 07:02
javaEE
java-ee
java
jvm
Java内存模型与内存结构
并发编程
的问题
并发编程
,为了保证数据的安全,需要满足以下三个特性:原子性是指在一个操作中就是cpu不可以在中途暂停然后再调度,既不被中断操作,要不执行完成,要不就不执行。
Coder_Sven
·
2023-10-19 07:10
java同步锁 试题_2020秋招最新面试题:
并发编程
高频面试题:可重入锁+线程池+内存模型等(含答案)...
对于一个Java程序员而言,能否熟练掌握
并发编程
是判断他优秀与否的重要标准之一。
愤怒的不死鸟
·
2023-10-19 06:21
java同步锁
试题
Java 多线程(致命)面试题:线程锁+线程池+线程同步等
1、
并发编程
三要素?1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。
搬砖养女人
·
2023-10-19 06:48
java
面试
开发语言
Java
并发编程
常见面试题
synchronized修饰普通方法和静态方法的区别?什么是可见性?普通方法对应于对象锁,是作用于对象实例;静态方法对应于类锁,是作用于一个类的class对象;类的对象实例可以有多个,但类的class对象只有一个;不同对象实例的对象锁是互不干扰的,但是每个类只有一个类锁;类锁只是一个概念的东西,真实并不存在,类锁其实锁的是每个类的class对象;可见性是值:当多个线程访问同一个变量时,一个线程修改
惜许
·
2023-10-19 06:15
JAVA基础
java
jvm
面试
【
JUC
】读写锁
读写锁文章目录读写锁1.ReentrantReadWriteLock概述2.编码演示2.1ReentrantLock实现2.2ReentrantReadWriteLock实现3.ReentrantReadWriteLock3.1锁降级3.2锁降级的必要性3.3饥饿问题4.StampedLock(邮戳锁也叫票据锁)4.1特点4.2三种访问模式4.3缺点4.4编码示例1.ReentrantReadWr
比尔高特
·
2023-10-19 03:09
#
03
JUC
java
23《Go语言入门》进程、线程、协程
目录进程线程任务调度进程和线程的区别多线程和多核内核线程超线程技术协程协程的目的协程的特点协程的原理线程和协程的比较参考支持在学习
并发编程
前,我们需要了解以下概
干志雄
·
2023-10-19 03:31
#
Go语言入门
go
golang
go语言
上一页
40
41
42
43
44
45
46
47
下一页
按字母分类:
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
其他