Coding
Concurrency

Reader-Writer Lock

Premium
Difficulty

Asked at Chicago Trading Company, Squarepoint Capital

Theory: Concurrency From Scratch

Read the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.

xxxxxxxxx xxxx, x xxxxxx, x xxxxxx xxxxx: xxxx xxxxxxxxxx, xxxxxxx xxxxxx. x xxxxx xxxxx xxxxxxxxxx xxx xxxxxxx xxxxxxx xxxx xxxxx xxx xx xxxxxx, xxx xxx xxxxxxx xxx xxxxxx xxx xx xxx xxxxxxx.

x xxxxxx/xxxxxxxxx xxxx xxxx xxxx xx xxxxxxxx xxx xxxxx xxxxxxx xxxxx. xxxxxxxxx xxxxxx xxxx xxx xxxxx xxx xxx xxxxxxxxx xxxxxxxx.

  • xxxx_xxxxxx() / xxxxxx_xxxxxx() — xxxx xxxxxxx xx xxxx
  • xxxx() / xxxxxx() — xxx xxxxxx, xxx xx xxxxxxx
  • xxxxxxx_xxx(), xxxxxx_xxx(), xxxxxxx_xxxxxxx() — xx xxx xxxxx xxx xxx xxxxxx

xx xxxx xx xxxxxx-xxxxxxxxxx: xxxx x xxxxxx xx xxxxxxx, xxx xxxxxxx xxxxx xxxxxx xx xxxxxx xxxx xxxxxxx xxx xxxxxxx xxxxxxx xxxxxx. xxxxxxx xxxxxxx xxxxxxx xxx xxxx xxx xxxxx xxxxxxx; xxx xxxxxxx xxxxxx xxxxx xxx xxxx.

xxxxxxxx

xxxx.xxxx_xxxxxx();
xxxx.xxxx_xxxxxx();
xxxx.xxxxxxx_xxx();   // x
xxxx.xxxxxx_xxx();    // xxxxx

xxxxxxxxxxx

  • xxx xxxxxxxxxx xxx xxxxx xxxxxx xxxx xxxxx xxxxx xxxxxxxxxxxx: xx xxxxxx xx xxxx xxxxxx xxxxx x xxxxxx xx, xx xxxxxx xx xxxx xxxxxx xxxxx x xxxxxx xx, xxx xxx xxxxxxxx xxxxxx xx xxxx.
  • x xxxxxx-xxxxxxxxxx xxxx xx xxxxxxx xxx xxxxxxx xxxxxxx. xxxxx x xxxxxx xxxx xxxx xxxxx xx xxxxxxxxxxx xxxxx x xxxxxx xxxx xxxx xxxxxxx, xx x xxxxxx xxxx xxxxx xxx xxx xxxxx xxxxxxx. xxx xxxx xxxxxxx xxx xxxx xxxx xxxx xxxxx-xxxxxx xxxxxxx xxx xxxxxxxx xxx xxxxxx xx xxxxxxxx.
  • xxx xxxx xx xxx xxxxxxxxxx xx xxx xxxxxx xxxxxxx: x xxxxxx xx xxxxxxx xxx xxxxxx xxxxxxx. xxxx xx x xxxx xxxxx, xxx x xxx, xxx xx xx xxx xxxxx xxx xxxxx xxxx xxxxxx xxx xxxx xxx xxxxxx xxxxxx.

This problem is only available to subscribers.

Language: C++RwLock
Sample tests

Unlock the problem to run it against the tests.