【发布时间】:2011-07-20 22:19:11
【问题描述】:
我正在尝试使用 C++ 编写一个简单的锁定/解锁算法,该算法的行为类似于分布式系统中的互斥锁。
它将被实现为一个库,用户将能够使用接口文件来使用它。
假设有 3 个进程 {A,B,C}。
每个处理器都知道其他进程的地址和端口等等。
如果A想要锁定某个对象,它已经获得了其他进程的许可,在这种情况下是B和C。
我相信发送和等待B的回复,C不会有问题,因为用户肯定会调用该函数。
但是,B和C应该如何接收消息呢?
保证所有进程都处于活动状态。
是否应该为每个运行侦听(轮询)套接字的处理器设置一个单独的线程?
这是否意味着如果我在构造函数中创建一个线程,并在进程运行时使用它,然后在析构函数中销毁它就可以了?
【问题讨论】:
标签: c++ multithreading sockets synchronization