草庐IT

异步FIFO

全部标签

c++ - 改进 CUDA 中的异步执行

我目前正在编写一个程序,使用CUDAAPI在GPU上执行大型模拟。为了加速性能,我尝试同时运行我的内核,然后再次将结果异步复制到主机内存中。代码大致如下所示:#defineNSTREAMS8#defineBLOCKDIMX16#defineBLOCKDIMY16voiddomainUpdate(float*domain_cpu,//pointertodomainonhostfloat*domain_gpu,//pointertodomainondeviceconstunsignedintdimX,constunsignedintdimY,constunsignedintdimZ){di

c++ - C++ 中安全异步回调的模式

除了以下代码之外,还有哪些替代方法可以对对象执行安全的异步回调?classMyClass:publicstd::enable_shared_from_this{private:voidfetchResults(){std::weak_ptrweakSelf=shared_from_this();m_service.getResultAsync(/*args...*/,/*Callback*/[weakSelf](Resultr){autoself=weakSelf.lock();if(self){self->workFinishedWithResult(std::move(r));}}

c++ - 如何使用 boost::statecart 在固定数量的线程上多路复用多个异步状态机?

假设我有许多用boost::statecart定义的异步状态机。运行多个异步状态机的明确记录机制是将其中一个或多个固定到一个线程。但是,出于我的目的,我需要运行很多很多异步状态机,而每个线程一个是行不通的。此外,任何给定状态机完成的工作量是不可预测的,因此将状态机分配给固定线程会导致不平衡。相反,我想要一个线程池,空闲线程可以在其中从队列中提取一些工作量。这里需要注意一些事情,以便按顺序将事件传送到给定的状态机。大概开始的地方是涉及实现Scheduler和FifoWorker概念来做我想做的事情,分别作为fifo_scheduler和fifo_worker类的替代方案。但是,我想知道这

c++ - Boost.asio 和异步链,unique_ptr?

我对异步编程不是很熟悉,我有一个问题。我的问题如下。给定boost.asio中C++11的echo_server示例:http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp我想知道std::make_shared可以在C++14中替换为std::unique_ptr在C++14中,避免了引用计数的开销。我不确定,因为我们有shared_from_this()但不是像unique_from_this()这样的东西,那么我怎样才能访问unique_ptr从里面t

c++ - 这个程序是异步运行还是同步运行?

当我运行这个程序时OVERLAPPEDo;intmain(){..CreateIoCompletionPort(....);for(inti=0;iWriteFile似乎直到写入作业完成才返回。同时,调用GetQueuedCompletionStatus()。该行为类似于同步IO操作,而不是异步IO操作。这是为什么? 最佳答案 如果文件句柄和卷启用了写入缓存,则文件操作可能只需要将内存复制到缓存就可以完成,稍后会延迟刷新。由于没有实际的IO发生,因此在这种情况下没有理由执行异步IO。在内部,每个IO操作都由一个IRP表示(IO请求数

异步解耦之RabbitMQ(一)_RabbitMQ 简介

引言什么是MQ?为什么要用MQ?MQ是消息队列(MessageQueue)的简称。消息队列是一种在应用系统之间传递消息的方法,它实现了异步通信的机制,解耦了不同组件或系统之间的直接依赖关系。通过将消息发送到消息队列中,消息的发送方和接收方可以独立进行处理,提高了系统的可靠性、扩展性和性能。消息队列具有以下特点和优势:异步任务处理:在许多应用中,某些任务可能需要耗时较长且不需要即时响应,例如图片或视频处理、发送邮件、生成报表等。这时可以将这些任务封装为消息发送到消息队列中,在后台异步地进行处理,而不是阻塞用户请求。例如,电商平台上用户下单后,订单处理过程可以通过将订单信息发送到消息队列,然后异步

c++ - 如何使用 lambda 来 boost asio 异步完成处理程序

#include#include#include#includevoidprint(boost::asio::deadline_timer*t,int*count){if(*countexpires_at(t->expires_at()+boost::posix_time::seconds(1));t->async_wait(boost::bind(print,t,count));}}intmain(){boost::asio::io_serviceio;intcount=0;boost::asio::deadline_timert(io,boost::posix_time::seco

python - QML 兼容多线程/异步调用吗?

我正在QML中构建一个UI,目前只处理UI逻辑,将应用程序逻辑留到以后处理。我有点担心我所涉及的所有与多线程和异步与同步代码以及UI中的缓慢有关的讨论,我想确保在稍后添加应用程序逻辑时,QML不会通过以某种方式强制单线程异步代码来阻止我并减慢我的速度。也许这听起来很荒谬,但我明白我是非网络GUI工作的新手。我来自可爱的JS世界,那里所有的UI事件都是异步和非阻塞的。有没有人有这方面的经验,无论是python还是C++? 最佳答案 在这里您可以找到几乎现成的答案:https://stackoverflow.com/a/16037815

c++ - Boost asio TCP 异步服务器不异步?

我正在使用Boostexample中提供的代码.服务器一次只接受1个连接。这意味着,在当前连接关闭之前不会有新连接。如何让上面的代码同时接受无限制的连接?#include#include#include#include#includeusingboost::asio::ip::tcp;classsession:publicstd::enable_shared_from_this{public:session(tcp::socketsocket):socket_(std::move(socket)){}voidstart(){do_read();}private:voiddo_read(

探索 XMLHttpRequest:网页与服务器的异步通信之道(下)

🤍前端开发工程师、技术日更博主、已过CET6🍨阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1🕠牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》🍚蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》文章目录四、XMLHttpRequest的优缺点强调XMLHttpRequest的异步特性带来的好处讨论可能遇到的跨域请求限制五、实际应用示例提供一些使用XMLHttpRequest的实际代码示例六、总结总结XMLHttpRequest的重要性和用途四、XMLHttpRequest的优缺点强调