• 2024-11-21Cangjie_仓颉编程-并发编程
    硬件发展早期只有一个CPU核心:操作系统多线程+CPU核心CPU多核 操作系统提供了创建线程的API直接调用该API来创建线程,因此最终程序内的线程数和该程序占用的操作系统线程数相等,一般称之为1:1线程模型Rust只在标准库中提供了1:1的线程模型
  • 2024-11-20并发编程八股
    并发编程保证数据的一致性事务管理,锁机制,版本控制线程的创建方式继承Thread类,重写其run()方法,调用start()方法启动线程实现Runnable接口,重写run()方法,调用start()方法启动线程实现Callable接口与FutureTask使用线程池(Executor框架)停止一个线程的运行异常法停止:线程
  • 2024-11-2030. 并发编程
    一、什么是多任务  如果一个操作系统上同时运行了多个程序,那么称这个操作系统就是多任务的操作系统,例如:Windows、Mac、Android、IOS、Harmony等。如果是一个程序,它可以同时执行多个事情,那么就称为多任务的程序。  一个CPU默认可以执行一个程序,如果想要多个程序一
  • 2024-11-19Java面试之多线程&并发篇(6)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!产生死锁的四个必要条件?如何避免死锁?线程池核心线程数怎么设置呢?Java线程池中队列常用类型有哪些?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理******java核心面试知识整理***
  • 2024-11-19第 1 章 并发编程线程基础
    目录1.1什么是线程 1.2线程创建与运行 1、继承Thread类方式的实现。2、实现Runnable接口的run方法3、使用FutureTask方式1.3线程通知与等待1.wait()函数2.wait(longtimeout)函数3.wait(longtimeout,intnanos)函数4.notify()函数5.notifyAll()
  • 2024-11-1904高可用高并发(D1_高并发 - D1_缓存)
    目录学习前言一、缓存简介关键词-命中率缓存介质缓存淘汰算法哪里用了缓存二、缓存应用和实现1.缓存实现-本地缓存1.1.成员变量或局部变量实现1.2.静态变量实现2.EhcacheGuavaCache3.缓存实现-分布式缓存缓存实现方式-注解方式Spring注解缓存用户自
  • 2024-11-1904高可用高并发(D1_高并发 - D2_限流)
    目录学习前言一、限流简介1.算法2.分类2.1.应用级-单机2.2.分布式二、限流方案方案一:令牌桶方式(TokenBucket)举例:GuavaRateLimiter-平滑突发限流(SmoothBursty)举例:GuavaRateLimiter-SmoothWarmingUp方案二:漏桶方式令牌桶和漏桶对比方案三:计数器方
  • 2024-11-1904高可用高并发(D1_高并发 - D3_降级 - 熔断)
    目录学习前言一、为什么会有这个话题二、基本的容错模式三、服务降级1.降级服务的特征2.降级方式3.降级预案4.服务降级分类5.自动降级分类6.服务降级需考虑的问题四、服务熔断1.相关概念2.熔断流程2.1.基本的断路器模式2.2.扩展的断路器模式2.3.
  • 2024-11-19并发编程体系概述
    作者:京东自有品牌周振类别定义特点应用场景Java中的使用进程(Process)计算机程序在操作系统中执行的实例-独立性强、拥有独立的内存空间、创建和销毁开销大-进程间通信复杂-独立的应用程序-高隔离性任务,如数据库服务器-Java应用程序运行在JVM进程中-通过Pr
  • 2024-11-18如何控制java虚拟线程的并发度?
    jdk21中的虚拟线程已经推出好一段时间了,确实很轻量,先来一段示例:假如有一段提交订单的业务代码:1publicvoidsubmitOrder(IntegerorderId){2sleep(1000);3System.out.println("order:"+orderId+"issubmitted");4}ViewCode这里我们
  • 2024-11-17Java面试之多线程&并发篇(5)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!常用的线程池有哪些?简述一下你对线程池的理解?Java程序是如何执行的?锁的优化机制了解吗?说说进程和线程的区别?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理******java核心面试知
  • 2024-11-16高并发编程/消息传递机制避免锁提高并发效率,不懂的赶紧进来(设计篇)
    在现代软件开发中,随着多核处理器的普及和分布式系统的扩展,传统的基于共享内存的并发模型正面临越来越多的挑战。消息传递机制作为一种替代方案,以其独特的异步通信和无共享状态的特性,为构建高效、可扩展和健壮的系统提供了新的思路。它通过将数据操作封装在消息中,允许系统组
  • 2024-11-16Spring Bean 如何保证并发安全???
    SpringBean如何保证并发安全简单来说:1、可以设置Beon的作用域为原型,这样每次从容器中获取该Bean时,都会创建一个新的实例,避免了多线程共享同一个对象实例的问题2、在不改变Beon的作用域的情况下,可以避免在Beon中存在可变状态的声明,尽量将状态信息存在方法内部的局部变量中,
  • 2024-11-15区块链交易并发: DAG 执行引擎
    早期的区块链系统,其执行引擎是一个串行执行模型,这种模型虽能保证执行的正确性,但却是区块链性能的一个核心瓶颈之一。天玄链中,通过识别交易中的状态依赖,构建交易依赖图来对执行引擎进行并行化,从而提升交易执行速度,解决该瓶颈。通用DAG分析器一个无环的有向图称做有向无环图(D
  • 2024-11-15CSAPP 并发编程
    frompixiv前置知识进程逻辑控制流(简称逻辑流)CSAPPP508:一系列的程序计数器PC的值唯一地对应于包含在程序的可执目标文件中的指令或包含在运行时动态链接到程序的共享对象指令。这个PC值的序列叫逻辑控制流一个逻辑流的执行在时间上与另一个流重叠,称为并发流,这两个流被
  • 2024-11-15Python并发编程入门:使用concurrent.futures与asyncio
    Python并发编程入门:使用concurrent.futures与asyncio在现代应用中,并发编程已成为一种提升性能和效率的重要手段。Python提供了多种实现并发的方式,尤其是concurrent.futures和asyncio,分别适用于不同的并发场景。本文将带你深入了解这两种并发编程方式,帮助你轻松上手并
  • 2024-11-15Shell并发执行
    在Shell脚本中,实现并发执行可以显著提高处理效率,特别是在处理大量任务或需要同时执行多个命令时。以下是一些常见的方法来实现Shell并发执行:1.使用&符号通过在命令末尾添加&符号,可以将命令放到后台运行,从而实现并发执行#!/bin/bashcommand1&command2&这种方法简单易用,
  • 2024-11-15【开发】若页面一次性接口请求上百个,阁下又当如何应对
    需求:假如页面一次性请求有上百个,你应该如何处理这种请求并发?答:soeasy!循环请求?肯定是不对的,否则一次性并发上百次请求,差点的服务器得崩溃了,我甚至一度以为你是在搞Dos攻击。我们可以通过任务队列的缓存来合理控制并发数据。我们知道浏览器发起的请求最大并发数量一般都是6~8
  • 2024-11-14Rust 如何处理高并发场景?(Rust高并发、Rust并发问题)(Rust Arc、Rust Mutex、Rust RwLock读写锁、Rust Atomic、Rust async/await)
    Rust如何处理高并发场景Rust的设计原则注重内存安全与并发的平衡,在提供高性能的同时,确保程序的安全性。在并发编程中,Rust提供了多种工具和库,特别是通过所有权、线程安全的类型、异步编程模型和并发原语等方式,解决了高并发场景中的一些难题。1.所有权系统与并发的
  • 2024-11-14Java面试之多线程&并发篇(3)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!SynchronizedMap和ConcurrentHashMap有什么区别?什么是线程安全?Thread类中的yield方法有什么作用?Java线程池中submit()和execute()方法有什么区别?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12
  • 2024-11-14Java面试之多线程&并发篇(3)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!SynchronizedMap和ConcurrentHashMap有什么区别?什么是线程安全?Thread类中的yield方法有什么作用?Java线程池中submit()和execute()方法有什么区别?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的j
  • 2024-11-13高并发下如何保证接口的幂等性?
    高并发下如何保证接口的幂等性?原创 苏三呀 苏三说技术 2021年03月28日09:35帐号已迁移 公众号前言接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴
  • 2024-11-13为什么连Java初中级面试都要问并发编程?
    前几天收到一位粉丝留言,说的是他才一年半经验,去面试却被各种问到分布式,高并发,多线程之间的问题。基础层面上的是可以答上来,但是面试官深问的话就不会了!被问得都怀疑现在Java招聘初级岗位到底招的是初级开发还是架构,是不是面进去就能直接进架构组了?(手动狗头) 但其实有一说
  • 2024-11-12Java面试之多线程&并发篇(2)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!Thread类中的start()和run()方法有什么区别?为什么wait,notify和notifyAll这些方法不在thread类里面?为什么wait和notify方法要在同步块中调用?Java中interrupted和isInterruptedd方法的区别?ava中synchronized和R
  • 2024-11-12Go语言并发编程:轻松驾驭多线程世界(九)
    Go语言并发编程:轻松驾驭多线程世界在这里插入图片描述在现代编程中,并发是让你的程序变得更强大、更高效的关键技能。幸运的是,Go语言提供了一种简单、直观的方式来处理并发任务,使用轻量级的Goroutine和Channel,让我们能够像指挥交通一样简单地处理多个任务。今天,我们将