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
并发编程原理分析
go
并发编程
之一:并发与并行的区别、go语言并发优势
go
并发编程
之一:并发与并行的区别、go语言并发优势并发与并行的区别并发并行go语言并发优势进程与线程线程与协程线程与协程的通俗说明goroutine和协程的区别并发与并行的区别并发并发(concurrency
java_xxxx
·
2023-10-23 06:02
#
任督二脉_go
golang
Go
并发编程
之一
一、前言新年学新语言Go系列文章已经完结,用了最简单的例子去了解Go基础语法,但Go最牛B的是它对并发的友好支持,每一门语言都有它自己独特的优势,如Java适合大型工程化项目,Python适合做数据分析及运维脚本,而Go最适合用来做高并发的网络通讯,PHP适合快速开发网站,所以有兴趣都可以学习了解一下,编程思路是互通。关于Go并发新年学新语言Go之一有一个概略的介绍,这一系列会从最简单一些例子入手
程序员青菜学厨艺
·
2023-10-23 05:58
Python&Go
golang
开发语言
后端
TCP拥塞控制及BBR
原理分析
导语:TCP拥塞控制不仅仅是网络层的概念,可以将其归属于控制论的范畴。在TCP的演进过程中,出现了很多优秀的思想和算法,以实现网络传输过程中,在公平竞争性的前提下,尽可能地利用带宽资源。本文介绍TCP发展过程中出现的几种拥塞控制算法,并着重介绍BBR的原理。一、拥塞控制概述TCP拥塞控制不仅仅是网络层的概念,可以将其归属于控制论的范畴。在TCP的演进过程中,出现了很多优秀的思想和算法,以实现网络传
RmondJone
·
2023-10-23 03:57
Android屏幕刷新机制
原理分析
基本概念CPU:执行应用层的measure、layout、draw等操作,绘制完成后,将数据交由GPUGPU:处理数据,将数据发送到缓冲区屏幕:由一个一个像素组成,以固定频率(1000ms,60次,即16.6ms一次)去缓冲区里读取数据填充像素点双缓冲机制看完上面的流程图,我们很容易想到一个问题,屏幕是以16.6ms的固定频率进行刷新的,但是我们应用层触发绘制的时机是完全随机的(比如我们随时都可以
咸鱼谈何梦想
·
2023-10-23 02:59
Android源码
android
每周一书python神经网络编程分享_超值资料:每周一书《疯狂Python讲义》分享
全书内容大概可分为四个部分,第一部分系统讲解了Python的基本词汇结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用的内嵌模块和包,这部分包含正则表达式支持IO编程、编程、
并发编程
咸鱼豆腐
·
2023-10-23 01:42
58同城Android端-最小插件化框架实战和
原理分析
目录背景插件化需要了解的知识2.1类加载过程和类加载器2.2ClassLoader的findClass、findLibrary、findResource2.3DexClassLoader的oat配置2.4LoadedApk2.5AssetManager、Resources插件化需要解决的核心问题3.1插件化的安全性和稳定性3.2class和so加载3.3资源加载和资源id冲突3.4四大组件3.5现
Tony-老师
·
2023-10-23 01:27
插件化篇
android
Java
并发编程
之synchronized原理
synchronized内置锁是一种对象锁(锁的是对象而非引用),作用粒度是对象,可以用来实现对临界资源的同步互斥访问,是可重入的。1.加锁的方式同步实例方法,锁是当前实例对象同步类方法,锁是当前类对象同步代码块,锁是括号里面的对象2.synchronized底层原理synchronized是基于JVM内置锁实现,通过内部对象Monitor(监视器锁)实现,基于进入与退出Monitor对象实现方法
逍遥白亦
·
2023-10-23 00:13
并发编程
-并发三大特性
并发三大特性
并发编程
Bug源头:原子性、可见性和有序性问题。原子性一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。
有梦想的年轻人6174
·
2023-10-23 00:55
java
并发编程
-线程池ForkJoinPool(二)
Fork/Join框架介绍什么是Fork/JoinFork/Join是一个是一个并行计算的框架,主要就是用来支持分治任务模型。Fork对应的是分治任务模型里的任务分解,Join对应的是结果合并。核心思想:将一个大任务分成许多小任务,然后并行执行这些小任务,最终将它们的结果合并成一个大的结果。应用场景1、递归分解型任务这类任务通常可以将大任务分解成若干子任务,每个子任务可以独立执行,并且可以归并子任
有梦想的年轻人6174
·
2023-10-23 00:54
java
并发编程
-Java内存模型
Java内存模型在
并发编程
中,需要处理的两个关键问题:1)多线程之间如何通信(线程之间以何种机制来交换数据)2)多线程之间如何同步(控制不同线程间操作发生的相对顺序)线程之间常用的通信机制有两种:共享内存和消息传递
有梦想的年轻人6174
·
2023-10-23 00:43
java
JUC
并发编程
笔记1
省流别看,自己的笔记并发和并行同步和异步:newThread(()->{}).start();应用之提高效率fangfa结束之后会被释放掉栈帧以线程为单位是相互独立的。章节总结:查看思索的方式,下图是基于图形界面话的Jconsole在这里插入图片描述、在这里插入图片描述在这里插入图片描述Fork/join
IT小奶盖
·
2023-10-23 00:07
计算机
笔记
java线程池基础与原理
频繁的创建和销毁线程会浪费大量的系统资源,增加
并发编程
的风险系统超过负载后没有拒绝策略,进一步加重系统负载,可能引起系统运行卡顿甚至崩溃引入线程池的好处:线程资源复用;提供线程管理功能,控制线程并发数
yedp
·
2023-10-22 23:37
Android Handler线程间通信
原理分析
本文将分三个部分剖析:使用方式、
原理分析
,如何利用。
Gray_s
·
2023-10-22 22:59
面试官:谈谈ReentrantLock与synchronized的区别?
这篇文章是
并发编程
系列第9集,上一次并发系列第八集通过ReentrantLock独占锁,讲解了AQS的基本实现原理,这次第10集开个支线,讲讲面试经常会被问的基于AQS实现的ReentrantLock与
公众号:码海
·
2023-10-22 20:29
队列
java
多线程
面试
android
面试刷题16:synchronized和ReentrantLock的区别?
java
并发编程
是程序员基本技能。我是李福春,我在准备面试,今天的题目是:synchronized和ReentrantLock的区别?
ElegantHedgehog
·
2023-10-22 20:29
技术
Alibaba面试官:谈谈ReentrantLock与synchronized的区别?
面试官:看你简历上写的熟悉
并发编程
,熟悉到什么程度?安琪拉:精通。对。。。问就是“精通”,头铁。嘿嘿面试官:用过synchronized的吧?安琪拉:用过,巴拉巴拉讲一大堆来之前背好的八股。
ikt4435
·
2023-10-22 20:25
编程
Java
程序员
java
开发语言
并发编程
内容
背景知识一、开篇介绍顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统二、为什么要有操作系统现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输
-wellplayed-
·
2023-10-22 20:05
网络编程与并发编程
开发语言
python
关于java多线程的一些知识点
多线程是一种
并发编程
的技术,允许在同一程序中同时执行多个线程。在Java中,多线程编程是非常常见的,因为它可以提高程序的性能和响应能力。
捉只树袋熊
·
2023-10-22 19:20
java
java
开发语言
KVC
原理分析
KVC底层实现的是setter和getter方法。KVC简介代码准备苹果官方文档查阅//类LGPerson中的方法#import"LGStudent.h"NS_ASSUME_NONNULL_BEGINtypedefstruct{floatx,y,z;}ThreeFloats;@interfaceLGPerson:NSObject{@publicNSString*myName;}@property(
志在交流
·
2023-10-22 18:11
3.Java
并发编程
:并发容器之CopyOnWriteArrayList
聊聊并发-Java中的Copy-On-Write容器Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArra
未知的证明
·
2023-10-22 17:34
java编程学习:Java 多线程基础:进程和线程之由来
现在我们来讨论一点稍微难一点的问题:Java
并发编程
。当然,Java
并发编程
涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。
Python编程社区
·
2023-10-22 17:16
Qt 日志规范及
原理分析
Qt中debug和release状态下输出内容有所不同,debug模式下包含了数百条警告及错误日志,除非在编译期间设置了QT_NO_WARNING_OUTPUT和/或QT_NO_DEBUG_OUTPUT,否则在发布模式下构建的Qt也包含此类警告。一格式化日志qt格式化输出内容有两种方法:qInstallMessageHandler和qSetMessagePatternqSetMessagePatt
linalg
·
2023-10-22 17:05
qt
学习
并发编程
#2
文章目录一、进程锁前言1.多进程抢占资源2.加上进程锁二、如何查看进程号三、进程之间数据隔离问题四、队列(Queue)生产者消费者模型四、线程一、进程锁前言锁在IT界都是非常重要的,不单单只有在Python中出现,尤其是数据库中的锁更多。比如:表锁、行锁、悲观锁、乐观锁、进程锁、互斥锁、递归锁、可重入锁、死锁、等···1.多进程抢占资源当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱
A_baio
·
2023-10-22 15:40
网络
python
并发编程
# 3
文章目录一、进程和线程的比较二、GIL全局解释器锁1.引入2.Python解释器的种类结论:在CPython解释其中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势。得出结论:GIL锁就是保证在同一时刻只有一个线程执行,所有的线程必须拿到GIL锁才有执行权限以下几个问题需要理解记忆3.互斥锁4.线程队列(线程里使用队列)1.为什么线程中还有使用队列?2.线程队列:5.进程池
A_baio
·
2023-10-22 15:04
算法
python
RocketMQ NameServer
原理分析
概述NameServer是RocketMQ消息队列的状态服务器(服务发现功能),集群中的各个服务都需要通过NameServer来了解集群中各个服务的状态。相当于SpringCloud中的Eureka的功能。NameServer中维护着Producer集群、Broker集群、Consumer集群的服务状态。通过定时发送心跳数据包进行维护更新各个服务的状态。当有新的Producer加入集群时,通过上报
jijs
·
2023-10-22 15:49
Bag of Tricks for Efficient Text Classification (fastText) 学习笔记
模型
原理分析
虽然神经网络在实践中效果不错,然而训练和测试需要大量的时间,但是有rankconstraint和fastlossapproximation的线性模型却可以在十亿级别的单词量下十分钟完成分析。
ffffatgoose
·
2023-10-22 14:33
fastText
java
并发编程
并发容器_java
并发编程
之-JUC并发容器的使用-Go语言中文社区
在Java5.0提供了java.util.concurrent(简称JUC)
并发编程
容器包,在此包中增加了在
并发编程
中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步IO和轻量级任务框架
TOOP精选
·
2023-10-22 12:59
java并发编程并发容器
JAVA
并发编程
---CopyOnWriteArrayList
CopyOnWriteArrayList就是最常说的写时复制容器,虽然在项目中使用场景不是很多但是某些特定环境下会得到不错的性能提升。简单来说它的原理就跟名字一样写时复制,当我们往一个容器添加元素的时候,并不会不直操作容器进行修改,而是先将当前容器进行Copy,复制出一个容器的副本,然后在赋值出的这个容器上进行修改,修改完成之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnW
chihaihai
·
2023-10-22 12:24
java并发编程
java
多线程
树状数组的理解以及简单应用
原理分析
:假设有9个数字组成的数组:A[]=125437869我们使得树状数组c[]以以下方法存储:C[1]=A[1]C[2]=A[1]+A[2]C[3]=A[3]C[4]=A[1]+A[2]+A[3]
diefen9380
·
2023-10-22 11:05
《Java编程思想》读书笔记(五)
文中的示例最好在自己电脑上多运行几次,相关示例完整代码放在码云上了,码云地址:https://gitee.com/reminis_com/thinking-in-java第二十一章:并发基本的线程机制
并发编程
使我们可以将程序划分为多个分离的
小懒编程日记
·
2023-10-22 10:51
java
python
并发编程
学习笔记--单线程,多线程,多进程 day06
Python
并发编程
是指同时处理多个任务的技术,包括单线程、多线程和多进程三种方式。1.单线程:单线程是指在一个进程中只有一个线程在执行任务的情况。
C&L
·
2023-10-22 10:14
开发语言
python
并发编程
学习笔记--线程池 day04
线程池Python线程池是一种用于并发处理的技术,其核心思想是将多个任务分配给一组线程来执行,从而提高程序的运行效率。线程池中包含了一定数量的线程,这些线程可以重复使用,避免了频繁地创建和销毁线程的开销。当有任务需要处理时,线程池中的线程会被分配给任务,并执行任务的代码。执行完任务后,线程会回到线程池中,等待下一个任务的到来。线程池的好处是可以减少线程的创建和销毁开销,提高程序的性能和效率。同时,
C&L
·
2023-10-22 09:44
python
学习
笔记
python
并发编程
学习笔记--在web服务中使用线程池 day05
在web服务中使用线程池可以提高服务器的并发处理能力,尤其是在高并发的情况下,可以提高请求的响应速度。Python中可以使用多种方式实现线程池,比如使用标准库中的concurrent.futures.ThreadPoolExecutor模块。这个模块提供了一个简单易用的接口,可以方便地创建线程池,并提交任务执行。示例1:importjsonimporttimefromconcurrent.futu
C&L
·
2023-10-22 09:44
学习
笔记
并发编程
-延时队列DelayQueue
数据结构学习网站:DataStructureVisualization思维导图DelayQueue(延时队列)DelayQueue是一个支持延时获取元素的阻塞队列,内部采用优先队列PriorityQueue存储元素,同时元素必须实现Delayed接口;在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素。延迟队列的特点是:不是先进先出,而是会按照延迟时间的长短来
长情知热爱
·
2023-10-22 09:40
数据结构
并发编程
- 阻塞队列BlockingQueue
数据结构学习网站:DataStructureVisualization思维导图:阻塞队列介绍1.1队列1.是限定在一端进行插入,另一端进行删除的特殊线性表。2.先进先出(FIFO)线性表。3.允许出队的一端称为队头,允许入队的一端称为队尾。Queue接口publicinterfaceQueueextendsCollection{//添加一个元素,添加成功返回true,如果队列满了,就会抛出异常bo
长情知热爱
·
2023-10-22 09:40
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
Shiro原理及源码分析
一、
原理分析
1.Shiro的简介是:好用的Java安全框架,可执行身份验证、授权、密码和会话管理,它有三个核心组件:Subject,SecurityManager和Realm。
乘风破浪的码农
·
2023-10-21 23:37
后台登录认证中间件
java
大数据
开发语言
python tornado高并发_Tornado从入门到进阶 打造支持高并发的技术论坛
可以针对高并发场景提供并发解决方案,成为很多大中型公司开发高并发/微服务项目的首选框架,在__bobby老师的这门课程中,从tornado的基础开发到项目实战进行系统讲解,覆盖理论与实践,完成本课程可以更透彻的理解异步IO
并发编程
思想
心安乃近
·
2023-10-21 23:27
python
tornado高并发
【面试普通人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++
粤嵌实训医疗项目--day01(Vue+SpringBoot)
、数据库设计、数据库创建及导入sql五、使用mybatis-plus逆向工程生成代码【vaccinum】六、JavaEE三层架构概念及user查询实现七、mybatis-plus逆向工程通用API实现
原理分析
及
Alphamilk
·
2023-10-21 20:26
SpringBoot
前端
java
后端
为何说只有 1 种实现线程的方法?
实现线程是
并发编程
中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作。
小熊学Java
·
2023-10-21 19:23
并发编程
java
线程
多线程
HashMap遍历、性能、原理以及安全性
1.迭代器EntrySet2.迭代器KeySet3.ForEachEntrySet4.ForEachKeySet5.Lambda6.StreamsAPI单线程7.StreamsAPI多线程性能测试性能
原理分析
安全性测试
锋声
·
2023-10-21 19:50
java基础
java
算法
hashmap
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
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他