Run Code
|
Code Wall
|
Users
|
Misc
|
Feedback
|
About
|
Login
|
Theme
|
Privacy
Synchro#2
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
// Реализовать внутреннюю структуру и схему синхронизации буфера, размещенного в разделяемой памяти, для случая // единственного сервера, обслуживающего (в асинхронном режиме) множество клиентов. // Сценарий работы: // -- клиент помещает в буфер имя вызываемой ф-ции и ее аргументы, посылает сигнал серверу и засыпает; // -- сервер просыпается, вынимает из буфера переданные данные и вызывает обработчик; // -- после завершения обработки сервер складывает ее результаты в буфер и отправляет сигнал клиенту; // -- клиент вынимает результаты из буфера. #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; }
g++
Show compiler warnings
[
+
] Compiler args
[
+
]
Show input
Compilation time: 5.36 sec, absolute running time: 0.19 sec, cpu time: 0.1 sec, memory peak: 3 Mb, absolute service time: 5,58 sec
edit mode
|
history
|
discussion