目录线程安全1.现象:1.线程不安全示例:2.线程不安全的原因 2.保护线程安全的措施——锁lock1.synchronized锁2.判断是否互斥:3.synchronied的解引用操作4.synchronied加锁的作用:5.synchronized 锁 VS juc下的锁线程状态——阻塞状态(blocked、waiting、timed_
转载
2024-09-06 08:00:39
52阅读
21世纪中四大技能之一就是计算机,而计算机中最影响速度的就是CPU和内存,计算机速度快慢除了CPU外就是内存了。内存一般有两种,一种是在服务器上使用的,另外一种就是在普通计算机上使用的,那么这两种内存有什么区别,又有一些什么技术在里面呢?读者朋友请看本文。 内存的差距——服务器内存和普通PC内存的区别 服务器内存和普通PC内存都是内存(RAM),在外观和结构上没有什么明显的区别,但是其价格要高
标记选项logtostderr 置位1 将log打印到stderrstderrthreshold 将log 输出到stderr的最低门槛log_dir 设置log文件的存储路径minloglevel 最低输出log的级别,低于这个级别的log,即使在代码中有也不会输出出来关于minloglevel它的运用一般在于调试DEBUG,当我们的项目处于DEBUG时,可以打印很多调试log,把log级别定位
转载
2024-03-26 05:52:49
169阅读
Python线程模块Python提供了几个用于多线程编程的模块,包括thread、threading和Queue等。thread和threading模块允许程序员创建和管理线程。thread模块提供了基本的线程和锁的支持,threading提供了更高级别、功能更强的线程管理的功能。Queue模块允许用户创建一个可以用于多个线程之间共享数据的队列数据结构。 避免使用thread模块,因为更高级
转载
2024-05-29 07:07:54
53阅读
前一篇:gRPC in ASP.NET Core 3.x - gRPC 简介(1)身份认证这里指的不是用户的身份认证,而是指多个server和client之间,它们如何识别出来谁是谁,并且能安全的进行消息传输。在身份认证这方面,gRPC一共有4种身份认证的 机制:不采取任何措施的连接,也就是不安全的连接。TLS/SSL 连接。基于 Google Token 的身份认证。自定义的身份认证提供商。&n
转载
2024-07-19 10:47:07
21阅读
加入了点自己的理解,可能还有很多地方认识不到位,仅供和大家一起交流和讨论。老 实现 当前gRpc 的pollset是基于epoll实现,主要有以下几个点:pollset 和epoll 一一对应一个cq 对应一个pollset多个线程可以消费一个cq,需要业务自己创建消费线程,调用grpc_completion_queue_next() 或者grpc_completion_queue_pl
转载
2024-05-07 18:29:17
288阅读
1. RPC 线程模型1.1 BIO 线程模型在 JDK 1.4 推出 Java NIO 之前,基于 Java 的所有 Socket 通信都采用了同步阻塞模式(BIO),这种一请求一应答的通信模型简化了上层的应用开发,但是在性能和可靠性方面却存在着巨大的瓶颈。因此,在很长一段时间里,大型的应用服务器都采用 C 或者 C++ 语言开发,因为它们可以直接使用操作系统提供的异步 I/O 或者 AIO 能
转载
2024-03-07 20:53:46
675阅读
1. 介绍gRPC 是一个高性能的开源 RPC 框架,最初由 Google 开发。RPC 是什么?在客户端应用里可以像调用本地方法对象一样直接调用另一台不同机器上的服务端应用的方法。同时支持跨语言的异构系统。国内开源的 RPC 框架有阿里Dubbo、蚂蚁金服的 SOFA-RPC、百度 bRPC、新浪 Motan等等。废话不多说,直接就开始使用 gRPC。文末附源码链接。2. 概述本文将使用以下步骤
转载
2024-03-15 15:50:28
65阅读
gRPC编程()一)是一个简单预览,这一篇是官网的一个概念转载。here gRPC 概念 本文档通过对于 gRPC 的架构和 RPC 生命周期的概览来介绍 gRPC 的主要概念。本文是在假设你已经读过文档部分的前提下展开的。针对具体语言细节请查看对应语言的快速开始、教程和参考文档(很快就会有完整的文档)。 概览 服务定义 正如其他 RPC 系统,gRPC 基于如下思想:定义一个服务, 指定其可以被
转载
2024-04-19 11:34:22
24阅读
概要RPC远程过程访问gPRC具有标准化、可通用和跨平台的特点进程间通信,通常是指一个应用实例调用另外一个应用实例所提供的服务,而这两个应用都运行在自己独立的进程中,通过网络彼此交换信息的过程。契约优先优点高效进程间通信简单且定义良好的服务接口和模式,编译阶段发现问题属于强类型调用支持多语言支持双工通信缺点gRPC不适合面向外部的服务服务定义变更,会出现复杂的开发流程gRPC生态系统相对较小Pro
转载
2024-04-06 16:31:24
841阅读
首先需要编译gRPC 获取gRPC源码 gRPC是开源框架,项目代码在github上,所以首先要安装github。github安装后,在指定文件夹中,执行git命令就可以获取gRPC的所有源码。 git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init &nbs
转载
2023-12-01 23:07:01
365阅读
作者:Senlin
自学记录用,侵删,建议到原博客网址学习。固定线程池 提到线程池,通常说的都是固定大小的线程池,固定线程池的原理是这样的:线程池由一个线程安全的队列,以及多个 worker 线程组成。可以有多个 producer 线程,它们负责提交任务给线程池。接收到新任务之后,线程池会唤醒某个 worker 线程,worker 线程醒来后会取出任务并执行。 虽然固定线程池实现起来很简单
转载
2024-03-18 12:46:08
111阅读
1.(g)RPC是什么gRPC = google+ Remote Procedure Call, google出品的远程过程调用(像在本地一样调用远程方法)屏蔽底层的传输方式(TCP 或者 UDP)、序列化方式(XML/Json/ 二进制)和通信细节2.RPC分类支持多语言的 RPC 框架,比较成熟的有 Google 的 gRPC、Apache(Facebook)的 Thrift;只支持特定语言的
转载
2024-04-05 15:03:13
82阅读
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持。当前企业正在慢慢改用微服务架构来构建面向未来的应用程序,微服务使企业能够有效管理基
转载
2024-05-12 22:02:43
26阅读
github地址: https://github.com/lishanglei/thread-pool.git源码public ThreadPoolExecutor(int corePoolSize, //核心线程数
int maximumPoolSize,//最大线程数量
long kee
转载
2024-03-23 12:56:55
172阅读
# Java gRPC 线程池
## 什么是 gRPC?
gRPC 是由 Google 开发的一种高性能、开源的远程过程调用(RPC)框架,支持多种编程语言。它基于HTTP/2协议,使用 Protocol Buffers(protobuf)作为接口定义语言(IDL),能够实现跨语言和跨平台的通信。
gRPC 中的服务定义是独立于实现的,这种设计模式使得开发人员可以专注于定义接口和业务逻辑,而
原创
2024-04-28 05:38:19
135阅读
原文作者:学生黄哲Go是并发语言,而不是并行语言。一、并发和并行的区别•并发(concurrency)是指一次处理大量事情的能力。并发的关键是你有处理多个任务的能力,不一定要同时。•并行(parallelism)指的是同时处理多个事情。并行的关键是你有同时处理多个任务的能力。简单的理解一下,并发就是你在跑步的时候鞋带开了,你停下来系鞋带。而并行则是,你一边听歌一边跑步。并行并不代表比并发快,举一个
@Author:Runsen在字节面试中,我见过:GO语言中的协程与Python中的协程的区别?其实就是要我讲解Go中GMP机制。我表示很多都用过,但是底层不了解。那时我只知道与传统的系统级线程和进程相比,协程的优势在于其“轻量级”,可以轻松创建上百万个而不会导致系统资源枯竭,而线程和进程通常不能超过1万个。所以协程也经常被称为轻量级线程。在前面说过,Go编写一个并发编程程序很简单,只需要在函数之
一.多线程的概念线程概念线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。说明:线程是程序内的顺序控制流,只能使用分配给程序的资源和环境。 进程:操作系统中执行的程序程序是静态的概念,进程是动态的概念。一个进程可以包含一个或多个线程。一个进程至少要包含一个线程。单线程单个程序中只有一个执行路径就是单线程。 当程序启动运行时,就自动产生一个线程,主方法main就在这个主
转载
2024-10-09 09:50:04
32阅读
又来到了总结知识的时间了,今天又学了一些新的知识,是多线程和GDI的一些运用。 理论: 在学习多线程之前,首先要了解一下什么是进程?进程:(关键字Process)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元, &n
转载
2024-03-20 17:54:33
83阅读