boost-interprocess

    1热度

    1回答

    因此,我使用boost.mpi在集群中的两台机器上运行我的应用程序,每个机器都有8个核心,因此我得到16个进程启动。我想知道我的流程如何能够发现我的哪个群集正在运行?如何以某种方式将名称命名为机器并保存它们?

    2热度

    1回答

    这是迄今为止我所拥有的。但是这甚至没有编译。我该怎么做才能使它工作? typedef allocator<int, managed_shared_memory::segment_manager> vecAllocator; typedef vector<int, vecAllocator> vec; typedef std::pair<const int, vec> ValueType; t

    0热度

    2回答

    我想用下面的代码中插入一个共享载体导入共享地图: managed_shared_memory segment(create_only ,"MySharedMemory" ,65536); typedef allocator<int, managed_shared_memory::segment_manager> vecAllocator; typedef vector<int, vecAll

    2热度

    2回答

    目前我有两个独立的C++程序,一个主控和一个从属。主设备使用boost::interprocess将一些数据写入共享内存,然后启动从内存中读取的从设备。 我想要做的是让从站不断运行,并且当内存写入并准备从中读取时,主站向从站发送消息。 我能想到实现同样目标的唯一方法是让从属经常检查共享内存是否存在对象,以及何时检测到它从中读取并删除它。但是,这看起来并不理想。 有没有更好的方法来实现同样的事情?

    4热度

    1回答

    我想要的仅仅是打开文件作为内存映射文件来读取 - 为了在将来以更快的速度访问它(例如:我们打开文件读取它结束,等待和读取一遍又一遍)同时我想要该文件可以由其他程序修改,当它修改它时,我想我的ifstream也修改。如何用boost iostreams(或者提升进程间)做这样的事情?我们是否可以放大操作系统 - 嘿,这个文件应该是所有应用程序的内存映射? 因此,我想这样的代码: #include <

    0热度

    1回答

    我想用boost::interprocess跨多个进程执行同步;在具体的我想在Linux操作系统下使用boost::interprocessnamed_mutex(我正在使用g ++)。 您是否知道该类的每个实例是否必须存储在共享内存中,如简单的boost::interprocess::mutex?

    5热度

    1回答

    我有以下boost :: interprocess :: message_queue相关的问题。 按照计划,我计划在> = 2个进程之间共享消息队列。很明显,其中一个可能会在消息队列中崩溃。因此,它将持有内部锁,使其他进程无法访问该队列。这怎么解决?似乎没有办法解锁使用的内部互斥锁。

    5热度

    4回答

    我使用的是使用named_mutex和timeout的boost::interpocess::scoped_lock;我在Linux操作系统中运行。 在我的一个测试中,我发生了一次崩溃:从那以后,每次我尝试再次运行应用程序时,它都卡在了创建锁的位置;看起来互斥体仍然以某种方式获得(没有可能的过程正在运行)。 最重要的是,如果你看下面的代码,我期待在150微秒后,定时scoped_lock返回给我一

    4热度

    2回答

    我有下面的代码,使用升压进程间 using namespace boost::interprocess; //Shared memory front-end that is able to construct objects //associated with a c-string. Erase previous shared memory with the name //to be use

    3热度

    1回答

    我想在boost :: interprocess :: managed_shared_memory段创建一个boost :: unordered_map。这工作正常,直到我试图改变使用boost :: interprocess :: allocator boost :: interprocess :: cached_node_allocator。 似乎hash_bucket结构推迟了密钥大小计算,