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
golang信号量并发编程
Golang
协程池ants使用笔记
最近工程中遇到goroutine滥用导致的bug,采用了ants协程池来解决。github-ants官方源码和使用说明。记录一个例子packagemainimport("fmt""runtime""sync""time""github.com/panjf2000/ants/v2")//模拟一个任务:求数字x的平方funcsquare(xint,chchanint){time.Sleep(1*tim
雪的期许
·
2024-01-27 22:20
编程:编程语言&框架
golang
笔记
开发语言
Go 语言并发清洗数据
他说
并发编程
容易写错,需求又急:),幸好我之前写过一点,整一个demo给他参考一下。
朴素的心态
·
2024-01-27 20:08
go-carbon v2.3.7 发布,轻量级、语义化、对开发者友好的
golang
时间处理库
carbon是一个轻量级、语义化、对开发者友好的
golang
时间处理库,支持链式调用。
龙湖笑笑生
·
2024-01-27 20:32
golang-module
go-carbon
golang
开发语言
后端
深入了解Go语言中的HTTP代理处理机制
Go语言,也被称为
Golang
,自2009年诞生以来,凭借其简洁、高效的特点,逐渐在系统编程、Web开发等多个领域崭露头角。在Web开发中,HTTP代理处理是常见的需求之一。
华科℡云
·
2024-01-27 20:50
python
http
【Linux】第三十五站:
信号量
和消息队列
文章目录一、消息队列1.消息队列原理2.消息队列的接口2.1创建一个消息队列2.2释放消息队列2.3发送数据和接收数据3.查找消息队列4.
信号量
的接口(了解)5.结论二、IPC在内核中的数据结构设计三、
青色_忘川
·
2024-01-27 19:31
【Linux】
linux
网络
运维
centos
服务器
c语言
c++
golang
生成protobuf和json对比
创建一个proto文件指定proto版本为proto3,目前主流使用的都是proto3syntax="proto3";optiongo_package="./goproto;goproto";//普通proto类型messageHelloRequest{stringname=1;//1是编号不是值}messageHelloResponse{stringreply=1;}//helloService
hengbo.liu
·
2024-01-27 18:49
golang
golang
json
开发语言
rpc
【代码随想录-数组】移除元素
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 18:08
s6
算法与数据结构
java
操作系统
一次只能处理一个用户作业的运行批处理os:用户作业一成批的方式提交给计算机分时os:允许多个用户同时与计算机系统交互实时os:能够及时响应随机发生的外部事件,并对外部事件做出快速处理,对来自外部的请求和
信号量
在限定的时间范围做出响应
Zh1为明天1
·
2024-01-27 17:55
【Linux C | 进程】Linux 进程间通信的10种方式(2)
目录一、POSIX消息队列✨1.1POSIX消息队列介绍✨1.2例子二、POSIX
信号量
✨2.1POSIX
信号量
介绍✨2.2例子三、POSIX共享内存✨3.1POSIX
wkd_007
·
2024-01-27 16:08
#
✨Linux
C语言
linux
c语言
POSIX消息队列
POSIX信号量
POSIX共享内存
[设计模式Java实现附plantuml源码~结构型] 提供统一入口——外观模式
前言:为什么之前写过
Golang
版的设计模式,还在重新写Java版?答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。
程序员三木
·
2024-01-27 14:41
设计模式
设计模式
java
外观模式
《大话设计模式-
Golang
》模板方法模式
概念模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。需求利用模板方法模式抄写题目并作答UML图代码考试题目模板类packagetemplateMethodimport"fmt"typeTestPaperstruct{Answer1func()Answer2func()}func(p*TestPaper)T
A夏天夏天悄悄过去留下小秘密
·
2024-01-27 14:08
设计模式
设计模式
golang
模板方法模式
golang
设计模式——模板模式
模板模式目录模板模式分析使用场景代码实现实例代码单元测试总结模板模式定义算法骨架,使用上有两个特征,一是要继承算法骨架,达到复用的目的;二是具体的算法步骤在子类中实现,达到扩展的目的。模板模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。UML:分析模板模式的UML图几乎是最简单的了。**模板方法模式可以让子类在不改
~庞贝
·
2024-01-27 14:37
设计模式
golang
设计模式
代理模式
《
golang
设计模式》第三部分·行为型模式-10-模板方法(Template Method)
文章目录1.概述1.1角色1.2类图2.代码示例2.1设计2.2代码2.3类图1.概述模板方法(TemplateMethod)用来定义算法的框架,将算法中的可变步骤定义为抽象方法,指定子类实现或重写。1.1角色AbstractClass(抽象类):用来定义算法框架和抽象操作templateMethod()方法:使用final修饰,包含了不可变的算法,不允许子类重定义它。invariantStep(
玄德公笔记
·
2024-01-27 14:33
#
golang与23种设计模式
golang
设计模式
模板方法模式
template
method
行为型模式
go 引用fork后的模块的两种方式(replace和工作区)
一是工作琐碎,二是处在舒适区,但最近看着身边的同事一个个离开,危机感骤然而生,不得不重拾书本,毕竟生活还得继续,不卷是不可能的,谁让我们生在这个卷中卷的国度,只能活到老卷到老…说完题外话,说说正题,笔者使用
Golang
代码一天不写我浑森蓝廋
·
2024-01-27 13:21
go
mod
go
replace
go
workspace
JUC
并发编程
与源码分析学习笔记(三)
目录五十六、JMM之入门简介五十七、JMM之学术定义和作用五十八、JMM之三大特性五十九、JMM之多线程对变量的读写过程六十、JMM之happens-before-上集六十一、JMM之happens-before-下集五十六、JMM之入门简介Java内存模型之JMM1、先从大厂面试题开始①、你知道什么是Java内存模型JMM吗?②、JMM与volatile它们两个之间的关系?(下一章详细讲解)③、
突然好想你之路在脚下
·
2024-01-27 12:07
多线程
学习
笔记
java
Golang
TCP/IP服务器/客户端应用程序,设计一个简单可靠帧传送通信协议。(并且正确处理基于流式控制协议,带来的应用层沾帧[沾包]问题)
在
Golang
语言标准库之中提供了,对于TCP/IP链接、侦听器的高级封装支持,这易于上层开发人员轻松基于这些BCL(基础类库)实现期望的功能。
liulilittle
·
2024-01-27 12:48
Extension
golang
tcp/ip
服务器
protobuf-go pragma.go 文件介绍
文件文件位于:https://github.com/protocolbuffers/protobuf-go/blob/master/internal/pragma/pragma.go该文件核心思想:利用
Golang
fananchong2
·
2024-01-27 11:32
Go语言杂文
golang
开发语言
后端
go
vet
go
lint
Golang
闭包快速入门
闭包(closure)是函数式语言实现词法作用域的技术,也称绑定。第一次读这个定义,可能有点懵,简言之,闭包就是函数值,它可以引用它的函数体所包含的变量。需要注意的是闭包不是匿名函数。简单示例下面创建简单闭包示例,并通过该实例学习其工作原理。首先创建函数getLimit()函数,其中包括int类型limit变量,并被设置为10,接着连续调用该函数:main.gopackagemainimport"
梦想画家
·
2024-01-27 11:14
Golang
golang
Go语言自学系列 |
golang
闭包
视频来源:B站《
golang
入门到项目实战[2021最新Go语言教程,没有废话,纯干货!持续更新中...]》一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
热爱编程的通信人
·
2024-01-27 11:43
视频学习笔记
golang
深入了解Java与Spring Boot在小说阅读平台中的应用
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-27 10:35
Python实战集
大数据实战集
Java实战集
java
spring
boot
开发语言
vue.js
数据库
mysql
小说阅读
Java后端开发:学籍系统核心逻辑
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-27 10:01
Java实战集
大数据实战集
Python实战集
java
开发语言
mysql
数据库
spring
boot
vue.js
学籍
Golang
中make与new有何区别
作者简介:过去日记,致力于Java、
GoLang
,Rust等多种编程语言,热爱技术,喜欢游戏的博主。
过去日记
·
2024-01-27 09:50
go进阶
golang
开发语言
Java集合相关面试题
作者简介:过去日记,致力于Java、
GoLang
,Rust等多种编程语言,热爱技术,喜欢游戏的博主。
过去日记
·
2024-01-27 09:45
java面试题
java
开发语言
C++
并发编程
,std::unique_lock与std::lock_guard区别示例
C++
并发编程
,std::unique_lock与std::lock_guard区别示例背景平时看代码时,也会使用到std::lock_guard,但是std::unique_lock用的比较少。
坚定亦唯美
·
2024-01-27 05:58
并发多线程
C++
并发编程
| future与async
文章目录一、async1、定义2、启动策略一、async1、定义2、启动策略async函数接受两种不同的启动策略,这些策略在std::launch枚举中定义,如下:std::launch::defered:这种策略意味着任务将在调用future::get()或future::wait函数时延迟执行,也就是任务将在需要结果时同步执行std::launch::async:任务在单独一个线程上异步执行默
MessiGo
·
2024-01-27 05:24
c++
开发语言
C++11并发支持库函数std::call_once
C++语言自从C++11开始对
并发编程
(concurrency)做了很多的支持,例如atomic,thread,mutex,condition_variable,lock,async,future等等众多喜闻乐见的好宝贝
Bruce Jia(上海)
·
2024-01-27 05:24
C++
c++
开发语言
C++
并发编程
| std::call_once
文章目录一、std::call_once1、函数声明2、std::once_flag3、应用示例前言某些场景下,需要代码只被执行一次,比如单例类的初始化,考虑到多线程安全,需要进行加锁控制。C++11中提供的call_once可以很好的满足这种需求,使用又非常简单。一、std::call_once1、函数声明函数定义于头文件,call_once保证可调用对象_Fx只被执行一次,即使在多线程场景,函
MessiGo
·
2024-01-27 05:22
c++
java
javascript
进程通信方法之一--管道(的容量与实现)
2、进程间通信的方式进程间通信主要包括管道,系统ipc(包括消息队列,
信号量
,共享存储),socket。
magoyang
·
2024-01-27 04:35
Linux
linux
通信
管道
【代码随想录-数组】二分查找
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 04:58
s6
算法与数据结构
java
【代码随想录-数组】有序数组的平方
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 03:24
s6
算法与数据结构
java
golang
代码规范和单元测试
代码规范方便团队内部统一风格,提高代码可读性,统一性命名规范包名尽量和目录名一致采用有意义,简短不要和标准库冲突包名应该尽量全部小写文件名如果多个单词可以采用蛇形命名法变量名蛇形不使用驼峰gounuserName专有名词全大写或者全小写结构名驼峰首字母大写接口命名和结构体差不多接口已er结尾IR常量命名全部大写,多个单词采用蛇形APP_VERSION注释规范:go提供两种注释://适合单行注释大段
入 梦皆星河
·
2024-01-27 00:58
log4j
互斥同步机制
//子线程void*task(void*arg){printf("子程序:tid=%#lx\n",pthread_self());inti=0;while(icharstr[100];//创建一个无名
信号量
愤怒的秃头鸟
·
2024-01-26 22:56
java
开发语言
golang
源码剖析(4): 垃圾回收
基本概念三色标记和写屏障起初所有的对象都是白色扫描所有的可达对象,标记为灰色,放入待处理队列从队列中提取灰色对象,将其引用的对象标记成灰色放入队列,自身标记为黑色写屏障监视对象内存修改,重新标色或者放回队列.当完成全部的扫描和标记工作后,剩余的只有白色和黑色两种,分别代表待回收和活跃对象,清晰操作只需将白色对象内存回收即可。流程可分为以下几步:扫描a.设置STW(stoptheworld,暂停用户
darcyaf
·
2024-01-26 22:41
阅读go语言工具源码系列之gopacket(谷歌出品)----第一集 DLL的go封装
gopacket项目是google出品的
golang
第三方库,项目源码地址google/gopacket:ProvidespacketprocessingcapabilitiesforGo(github.com
伏虎山真人
·
2024-01-26 21:36
golang
golang
开发语言
后端
重点归纳-多线程
线程-java内存模型(共享内存模型)定义1、在
并发编程
中,需要处理两个关键问题:线程之间如何通信及同步;而Java线程之间的通信由Java内存模型控制,Java内存模型决定一个线程对共享变量的写入何时对另一个线程可见
小丑的果实
·
2024-01-26 19:19
第二章 进程的描述与控制4
2、1)无论生产者、消费者使用缓冲池时应保证互斥使用(互斥
信号量
mutex)2)生产者和消费者间交叉有序:有序的控制最根源在产品数量上。
6d9fe196fd45
·
2024-01-26 19:39
go get 提示 unrecognized import path “google.
golang
.org/protobuf/proto“ 的解决办法
主要原因是访问不到资源,需要我们自行下载1、在$GOPATH的src路径上新建文件夹google.
golang
.org2、在google.
golang
.org目录下执行:gitclonehttps://
yezhijing
·
2024-01-26 18:37
golang
golang
开发语言
后端
golang
视角下 protobuf 的安装 从proto文件到go文件
ProtocolBuffers(protobuf)是一种由Google开发的轻量级、高效的数据序列化格式。它设计的目的是为了在不同系统之间进行数据交换,同时保持数据的结构化和高效传输。以下是一些关键特点:二进制格式:Protobuf使用二进制格式来序列化数据,相比于一些文本格式(如JSON和XML),二进制格式更加紧凑,传输效率更高。结构化数据:Protobuf使用消息定义数据结构,类似于在编程语
静谧之心
·
2024-01-26 18:31
Go
golang
chrome
python
千万级高性能长连接Go服务架构实践
本文主要介绍了百度系内基于
golang
实现的统一长连接服务。
百度Geek说
·
2024-01-26 17:28
golang
架构
开发语言
长连接
Golang
grpc server响应请求
朋友偶然问了一句,
golang
的grpc在接到请求后是如何调到对应的实现函数的?当时对着代码讲了一通。后来想想觉得这是个好问题,写下来记录一下。
郭老汉
·
2024-01-26 16:17
总结线程池
1.创建线程池的原因使用了多进程确实能够进行
并发编程
,但是频繁创建销毁进程,成本比较高。因此我们引入了线程(轻量级进程)。复用资源的方式,来提高了创建销毁效率。
头发掉光光√
·
2024-01-26 14:38
java-ee
linux中共享内存的查看和释放
在Linux中,有一些命令和步骤可以用来查看和释放共享内存:查看共享内存:ipcs命令可以查看目前系统中的进程间通信设施的状态,如消息队列、共享内存和
信号量
的状态。
zhu_superman
·
2024-01-26 13:27
linux
【
并发编程
】锁死的问题——如何解决?以及如何避免?
目录1.如何解决一、死锁的定义和原因1.1定义1.2原因二、常见的死锁场景2.1线程间相互等待资源2.2嵌套锁的循环等待2.3对资源的有序请求三、死锁排查的方法3.1使用jstack命令3.2使用jconsole3.3使用VisualVM四、常见的解决方案4.1避免嵌套锁的循环等待4.2使用带超时的锁4.3使用资源分配图2.如何避免1.如何解决一、死锁的定义和原因1.1定义死锁是指两个或多个线程在
王果冻ddd
·
2024-01-26 13:42
java
开发语言
面试
【
并发编程
】 synchronized的普通方法,静态方法,锁对象,锁升级过程,可重入锁,非公平锁
目录1.普通方法2.静态方法3.锁对象4.锁升级过程5.可重入的锁6.不公平锁非公平锁的lock方法:1.普通方法将synchronized修饰在普通同步方法,那么该锁的作用域是在当前实例对象范围内,也就是说对于SyncDemosd=newSyncDemo();这一个实例对象sd来说,多个线程访问access方法会有锁的限制。如果access已经有线程持有了锁,那这个线程会独占锁,直到锁释放完毕之
王果冻ddd
·
2024-01-26 13:11
java
jvm
开发语言
golang
实现协程池
go的goroutine提供了一种比线程而言更廉价的方式处理并发场景。相比线程,协程占据更小的内存空间,并且由于是在用户态进行调度,上下文切换的代价更小。所以协程更加容易支撑几万几百万的并发。但goroutine太多仍会导致调度性能下降、GC频繁、内存暴涨,引发一系列问题。因此本文的目的是学习如何实现一个go协程池。借鉴java的线程池,定义如下的结构体typeGoroutinePoolstruc
云舒编程
·
2024-01-26 13:39
golang
开发语言
后端
【
并发编程
】AQS——详细解释公平锁,非公平锁,独占锁,什么是可重入以及condition
目录1、公平2.非公平3.独占锁4.可重入5.condition1、公平第一步:获取状态的state的值。如果state=0即代表锁没有被其它线程占用,执行第二步。如果state!=0则代表锁正在被其它线程占用,执行第三步。第二步:判断队列中是否有线程在排队等待。如果不存在则直接将锁的所有者设置成当前线程,且更新状态state。如果存在就入队。第三步:判断锁的所有者是不是当前线程。如果是则更新状态
王果冻ddd
·
2024-01-26 13:09
java
开发语言
后端
进程间通信
低级通信:锁和
信号量
。高级通信:消息多。管道管道是基于文件系统实现的。创建一个管道时,给两端的两个进程分别分配两个文件操作符,一个读文件描述符,一个写文件描述符。
可爱的小小小狼
·
2024-01-26 12:52
Linux
服务器
linux
运维
[设计模式Java实现附plantuml源码~创建型] 复杂对象的组装与创建——建造者模式
前言:为什么之前写过
Golang
版的设计模式,还在重新写Java版?答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。
程序员三木
·
2024-01-26 12:21
设计模式
设计模式
java
建造者模式
深入理解旅游网站开发:Java+SpringBoot+Vue+MySQL的实战经验
专业做Java、Python、微信小程序、安卓、大数据、爬虫、
Golang
、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!
计算机编程指导师
·
2024-01-26 12:45
Java实战集
Python实战集
大数据实战集
java
旅游
spring
boot
vue.js
mysql
前端
javascript
在Linux中查看进程的状态
S:可中断的睡眠状态,表示进程在等待某些事件的发生,比如等待socket连接、等待
信号量
等。这些进程可以被异步信号唤
aFakeProgramer
·
2024-01-26 11:02
嵌入式基础
Linux学习笔记
linux
运维
服务器
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他