首页 > 编程语言 >并发编程场景题目

并发编程场景题目

时间:2023-11-25 16:55:55浏览次数:32  
标签:红包 题目 结果 队列 编程 搜索引擎 并发 线程

(1)发红包,100块钱,10个红包,要求第一个抢到红包的用户,得到的金额最多?

解答:可以先将每个红包的金额计算出来,然后放到一个并发队列中 concurrentLinkedQueue,每个用户就是一个线程,每个线程去操作并发集合,集合为空的线程就返回红包派送完了。

(2)搜索引擎:公司有三种搜索引擎,每个搜索引擎的搜索速度不一样且随机,写一个程序,返回最快的那个搜索引擎的结果?

解答:主线程开启三个异步线程调用搜索引擎的结果,异步线程有结果了,然后主线程去从阻塞队列blockArrayList中获取结果,没有结果就阻塞住。三个异步线程有结果了就将结果写到阻塞队列中,阻塞队列有值了,主线程就返回了最快的那个结果,继续往下走了。

标签:红包,题目,结果,队列,编程,搜索引擎,并发,线程
From: https://www.cnblogs.com/guoyu1/p/17855696.html

相关文章

  • 多线程编程之——终止(打断)正在执行中的线程
    多线程编程之——终止(打断)正在执行中的线程ps:文字有点多,想看结果的,直接跳转:《二》一、基础知识1、我们基于spring开发,把线程都交给spring把线程交给spring管理好不好?将线程交给Spring管理是一个常见的做法,特别是在基于Spring的应用程序中。通过将线程纳入Spring的管理......
  • Python CGI编程
    什么是CGICGI目前由NCSA维护,NCSA定义CGI如下:CGI(CommonGatewayInterface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。网页浏览为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程:1、使用你的浏览器访......
  • C++ Boost 异步网络编程基础
    Boost库为C++提供了强大的支持,尤其在多线程和网络编程方面。其中,Boost.Asio库是一个基于前摄器设计模式的库,用于实现高并发和网络相关的开发。Boost.Asio核心类是io_service,它相当于前摄模式下的Proactor角色。所有的IO操作都需要通过io_service来实现。在异步模式下,程序除了发起......
  • C++11 多线程并发 互斥量、条件变量和信号量
    互斥量Classesmutex(C++11)providesbasicmutualexclusionfacility(class)timed_mutex(C++11)providesmutualexclusionfacilitywhichimplementslockingwithatimeout(class)recursive_mutex(C++11)providesmutualexclusionfacili......
  • 以精确反馈促进学生编程逻辑和问题解决意识:一种基于两层测试的在线编程训练方法
    (PromotingStudents’ProgrammingLogicandProblem-SolvingAwarenessWithPrecisionFeedback:ATwo-TierTest-BasedOnlineProgrammingTrainingApproach)DOI:10.1177/07356331221087773一、摘要研究目的:培养学生的计算机编程技能已成为全球重要的教育问题。然而,学......
  • Java登陆第十三天——网络编程(三)DatagramSocket
    DatagramSocket使用DatagramSocket(数据套接字)可以进行UDP程序的开发,此类可以建立单向地、不可靠地、快速地通信。在UDP编程中,混淆了服务端和客户端的概念。因为通信是单向的,所以身份可以随时切换。(也有人把TCP称作服务端客户端,UDP称作发送端和接收端)DatagramSocket类常用......
  • [左神面试指南] 其他题目[上]篇
    CDxxx从5随机到7随机及其扩展/*rand1To5实现等概率随机产生1~7的随机函数rand1To7*/publicintrand1To5(){ return(int)(Math.random()*5)+1;}publicintrand1To7(){intnum=0;do{ num=(rand1To5()-1)*5+rand1To5()-1;......
  • LeetCode二叉树小题目
    Q1将有序数组转换为二叉搜索树题目大致意思就是从一个数组建立平衡的二叉搜索树。由于数组以及进行了升序处理,我们只要考虑好怎么做到平衡的。平衡意味着左右子树的高度差不能大于1。由此我们可以想着是否能用类似二分+递归来解决。如果left>right,直接返回nullpter否则......
  • 万字长文:从 C# 入门学会 RabbitMQ 消息队列编程
    RabbitMQ教程 目录RabbitMQ教程RabbitMQ简介安装与配置安装RabbitMQ发布与订阅模型生产者、消费者、交换器、队列多工作队列交换器类型DirectFanoutTopic交换器绑定交换器消费者、消息属性Qos、拒绝接收消息确认模式消息持久化消息TTL时......
  • 开源大模型驱动的智能编程与自然语言处理
    随着人工智能技术的不断发展,开源大模型已经成为了一个备受关注的话题。在这些开源大模型中,WizardCoder和WizardLM是两个备受瞩目的项目。本文将重点介绍这两个模型,并突出其中的重点词汇或短语。首先,让我们来了解一下WizardCoder。它是一个基于PyTorch框架的开源代码生成工具,......