• 2025-01-10std::condition_variable
    std::condition_variable是C++11标准库中提供的一个同步原语,用于线程间的条件等待和通知机制。它允许一个或多个线程等待某个条件变为真(即被满足),并通过另一个线程的通知来唤醒这些等待的线程。主要特点条件等待:线程可以等待某个条件变量,直到其他线程通知该条件已被满足。通
  • 2025-01-09BFS
    BFS(广度优先搜索,Breadth-FirstSearch)是一种用于遍历或搜索树或图的算法。它的核心思想是从起始节点开始,逐层向外扩展,先访问离起始节点最近的节点,再访问更远的节点。BFS通常使用队列(Queue)来实现。BFS的核心思想逐层扩展:从起始节点开始,先访问所有与起始节点直接相连的节点(第
  • 2025-01-08Queue
    队列的本质Queue的本质也是封装了特殊存储规则的object[]数组Queue是队列存储容易,是一种先进先出的数据结构//申明Queuequeue=newQueue();//增加//因为是object数组,所以可以存储各种内容queue.Enqueue(1);queue.Enqueue("123");//取//先进先出objectv=queu
  • 2025-01-08RabbitMQ高级篇之MQ可靠性 Lazy Queue
    文章目录数据持久化的背景和挑战引入惰性队列(LazyQueue)惰性队列的特点惰性队列的潜在问题RabbitMQ中的惰性队列实现如何创建惰性队列(LazyQueue)惰性队列的性能测试惰性队列的优势惰性队列的适用场景小结关键点总结数据持久化的背景和挑战持久化确保了即使Rabbit
  • 2025-01-07python中的队列
    在Python中,队列(Queue)通常使用collections.deque来实现,因其提供了高效的从两端添加和删除元素的操作。队列通常遵循先进先出(FIFO)的原则,也就是最先插入的元素最先被移除。队列的基本操作:append(x):将元素x加入队列的尾部。popleft():移除并返回队列的头部元素。appen
  • 2025-01-06python中的图
    在Python中,图(Graph)是一个非常重要的数据结构,特别是在刷算法题时。图有许多类型(如有向图、无向图、有权图、无权图等),并且涉及的算法(如深度优先搜索、广度优先搜索、最短路径等)都非常常见。以下是Python中常见的图的语法,尤其是刷算法题时用到的技巧。1.图的基本定义图通常由
  • 2025-01-06C# 队列的各种使用方法 private static ConcurrentQueue
            在C#中,ConcurrentQueue<T>是一个线程安全的先进先出(FIFO)集合,它位于System.Collections.Concurrent命名空间中。它非常适合在多线程环境中使用,因为它提供了一些原子操作来确保线程安全。以下是一些常见的ConcurrentQueue<T>使用方法,以ConcurrentQueue<st
  • 2025-01-06python中的队列
    在Python中,队列(Queue)是一种常见的数据结构,特别是在刷算法题时经常被用到。以下是队列相关的基础语法及其在算法题中的应用总结。1.队列的基本定义队列遵循FIFO(先进先出)原则,可以通过以下方式实现:1)collections.dequedeque是双端队列,支持快速的两端插入和删除操作。fro
  • 2025-01-06C#中的Queue与ConcurrentQueue:区别与适用场景
    在C#中,Queue<T>和ConcurrentQueue<T>是两种不同类型的队列,它们有不同的用途和特性。以下是它们之间的主要区别以及何时使用ConcurrentQueue<T>的详细解释。1.主要区别 1.线程安全性:  Queue<T>:不是线程安全的。如果在多线程环境中使用,需要额外的同步机制(如锁)来避免数据
  • 2025-01-05[数据结构学习笔记5] 队列(Queue)
    队列和堆栈类似,但是它是一种先进先出的结构。FIFO(firstinfirstout)。代码实现,javascriptclassQueue{constructor(){this.items=newLinkedList();}clear(){this.items=newLinkedList();}contains(item){
  • 2025-01-05python【数据结构】
     1.列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点;即,列表可以修改,而字符串和元组不能。以下是Python中列表的方法:方法描述list.append(x)把一个元素添加到列表的结尾,相当于a[len(a):]=[x]。list.extend(L)通过添加指定列表的所有元素来扩充列表,
  • 2025-01-04CloudFront优选IP
    Debian环境apt-getinstallzmappython3-yapt-getinstallpython3-pippip3installrequestspip3installnumpy脚本点击查看代码#coding=utf-8importthreadingimportrequestsimportqueueimportsysimportreimportosimportnumpyasnp#defbThread(ip
  • 2025-01-04Python--pika (rabbitmq)
    connectionconnection=BlockingConnection(ConnectionParameters(host='xxx',port=xxx,credentials=PlainCredentials(username='xxx',password='xxx')))channelchannel=connection.channel()生
  • 2025-01-01力扣刷题:栈和队列OJ篇(上)
    大家好,这里是小编的博客频道小编的博客:就爱学编程很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!目录1.用队列实现栈(1)题目描述(2)解题思路2.用两个栈实现队列(1)题目描述(2)解题思路快乐的时光总是短暂,咱们下篇博文再见啦!!!如果小编的
  • 2025-01-01Java代码实现优先级队列
         最近看了PriorityQueue的源码实现后,我深有感悟,其实本质上就是用了堆的数据结构,我也自己尝试实现了优先级队列的代码,不多说了,代码如下。目录源码实现 测试用例代码源码实现    最近看了PriorityQueue的源码实现后,我深有感悟,其实本质上就是用了堆
  • 2024-12-317、RabbitMQ队列之远程调用(RPC)【RabbitMQ官方教程】
    在第二个教程中,我们学习了如何使用工作队列在多个工作人员之间分配耗时的任务。但是,如果我们需要在远程计算机上运行一个函数并等待结果呢?好吧,那是另一回事。这种模式通常被称为远程过程调用或RPC。在本教程中,我们将使用RabbitMQ构建一个RPC系统:一个客户端和一个可扩展的RPC服务
  • 2024-12-314、RabbitMQ队列之发布/订阅模式【RabbitMQ官方教程】
    在前面的教程中,我们创建了一个工作队列。工作队列背后的假设是,每个任务只传递给一个工作者。在这一部分中,我们将做一些完全不同的事情——我们将向多个消费者传递一个信息。这种模式被称为“发布/订阅”。为了说明这种模式,我们将构建一个简单的日志系统。它将由两个程序组成——
  • 2024-12-29【操作系统】同步
    同步(Synchronization)涉及到在多线程或多进程环境中协调多个执行线程的执行顺序,以确保数据的一致性和完整性。同步的目的是防止多个线程同时访问同一资源(如内存、文件、数据库等)时发生的冲突和数据不一致问题。实现方法:互斥锁(Mutex):一种同步机制,用于保护共享资源不被多个线
  • 2024-12-29Wend看源码-Java-集合学习(Queue)
    概述   Wend看源码-Java-集合学习(List)-CSDN博客    Wend看源码-Java-集合学习(Set)-CSDN博客    在前两篇文章中,我们分别探讨了Java集合框架的父类以及List集合和Set集合的实现。接下来,本文将重点阐述Java中的Queue集合,包括其内部的数据结构以及核心方
  • 2024-12-28图---基于邻接矩阵表示的广度优先遍历
    6-3基于邻接矩阵表示的广度优先遍历实现基于邻接矩阵表示的广度优先遍历。函数接口定义:voidBFS(GraphG,intv);其中G是基于邻接矩阵存储表示的无向图,v表示遍历起点。裁判测试程序样例:#include<stdio.h>#include<stdlib.h>#defineMVNum10     
  • 2024-12-26116. 填充每个节点的下一个右侧节点指针
    题目链接解题思路:其实就是在层序遍历的过程中,把next指针填上代码classSolution:defconnect(self,root:'Optional[Node]')->'Optional[Node]':ifroot==None:returnNone#层序遍历的过程中,填好nextqueue=deque()
  • 2024-12-26虚引用
    packagecom.wb.demo.util;importjava.lang.ref.PhantomReference;importjava.lang.ref.Reference;importjava.lang.ref.ReferenceQueue;importjava.util.LinkedList;importjava.util.List;publicclassPhantoReference{//容器finalstaticList<Ob
  • 2024-12-26flask 异步任务celery中运行ipython或python repl出现阻塞
    问题场景:上传文件调用上传文件接口,异步任务解析文件,解析中需要执行python代码,此时会出现阻塞启动celery命令celery-Aapp.celeryworker-Pgevent-c1--loglevelINFO-Qnltable代码:importloggingimporttimeimportdatetimefromceleryimportshared_taskfr
  • 2024-12-25python多进程之间通讯,消息队列Queue
    代码:frommultiprocessingimportProcess,Queuedefproducer(q):myinfo="包子"q.put(myinfo)print(f"生产了{myinfo}")myinfo="饺子"q.put(myinfo)print(f"生产了{myinfo}\n")''
  • 2024-12-25102. 二叉树的层序遍历
    题目链接解题思路:层序遍历就用队列,唯一需要注意的就是,要每一层单独收集,所以要用一个变量,记录每一层需要收集的数目,同时还要记录下一层需要收集的数目代码classSolution:deflevelOrder(self,root:Optional[TreeNode])->List[List[int]]:ifroot==No