Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Synchro#2
// Реализовать внутреннюю структуру и схему синхронизации буфера, размещенного в разделяемой памяти, для случая // единственного сервера, обслуживающего (в асинхронном режиме) множество клиентов. // Сценарий работы: // -- клиент помещает в буфер имя вызываемой ф-ции и ее аргументы, посылает сигнал серверу и засыпает; // -- сервер просыпается, вынимает из буфера переданные данные и вызывает обработчик; // -- после завершения обработки сервер складывает ее результаты в буфер и отправляет сигнал клиенту; // -- клиент вынимает результаты из буфера. #include <iostream> #include <boost/thread.hpp> class SharedMemoryBuffer { static const uint32_t buffer_size = 0x1000000; static uint8_t buffer[buffer_size]; // ... <-- }; class Server { Server(){} Server(const Server&) = delete; Server& operator=(const Server&) = delete; public: static Server& Instance() { static Server srv; return srv; } bool ProcessCallAndSendData(...) { // ... <-- return false; } // ... <-- }; class Client{ public: // ... <-- bool SendCallAndReceiveData(...) { // ... <-- return false; } }; int main() { return 0; }
run
|
edit
|
history
|
help
0
A number is prime or not
const test
stl_sizeof.cc
BinSearch
MAC
Podejrzana karteczka :0
Bitfield too small to hold all enum values
CutRod(BottomUp)
temp
3 and 7 in a row