Coding
Concurrency

Atomic Reference Count

Premium
Difficulty

Asked at Hudson River Trading, Jump Trading

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.

xxx xxxxxxx xxxxx xxxxxx xxxxxx_xxx xx xxx xxxxxxx xxx xxx xxxxx xx xxxx, xxx xx xx xxx xxxxxxxx xxxxxxxxx xxxxxxxx xxxxx xxxxxx xxxxxxxx, xxxxxxx xxx xxx xxxxx xxxx xxxxxxxxx xxxxxxxxx xxx xxxx xxxxxx xxxx xxxx xxx xxxx xxx.

xxxxxxxxx xxxxxxxxxx<x>.

  • xxxxxx() — xxx x xxxxxxxxx
  • xxxxxxx() — xxxx xxx, xxxxxxxxxx xxx xxxxxxx xxxx xxx xxxx xxxx. xxxxxxx xxxx xx xxxx xxxx xxx xxx xxx xxxx xxxxxxxxx xx.
  • xxx_xxxxx(), xxx()

x xxxxxxx xxxx xx xxxxxxxx xxxx xxxxxx xxx xxx xxxxxxxxxxxx, xx xxx xxxxx xxx xxxxx xxx xxxxxx xxxx xxxxxxx xxxx xx xxxxxx xxx xxx xxxxxxx xxxxxxxxxx.

xxxxxxxx

xxxxxxxxxx<xxxxxxx> xx(xx);
xx.xxxxxx(); xx.xxxxxx();
xx.xxx_xxxxx();   // x
xx.xxxxxxx();     // xxxxx
xx.xxxxxxx();     // xxxxx
xx.xxxxxxx();     // xxxx, xxx xxx xxxxxxx xx xxxx

xxxxxxxxxxx

  • xxxx xxxxxxx xxxx xxxxxx() xxx xxxxxxx() xx xxxx, xx xxx xxxxx xxxx xx xxxxxx.
  • xxx xxx xxxx xxxxxxxxx xxxxxx xxxxxx, xxx xxx xxxxxx xx xxx xxx xxxxx. xxxxx xxxxx xxx xxxxxxx:
    • x xxxxxx xxxxxxx xxxxxx() xxxxxxx xxxxx x xxxxxxxxx, xx xxxxxxx xxx xxx xxxxxxxxxx xx xxx xxx xxxxxxxxx xxxxxx xxxxxxx;
    • x xxxxxx xxxxxxx xxxxxxx() xx xxxxxxxx xxxx xxx xxxxxx, xx xxxxxxxxxx xx xxxxx xxxx xx xxxxxxx xx xxxxxxx xxxxxxxx xx, xxx xxx xxxxxxxxx xxxx xxx xxxx xxxxx xxxxx xxxxxx xxxxx xxxxxx xxx xxxxxxx.
  • xxxxxxx xxx xxxxxx xxx xxxx xxx xxxx xxxx xxxxxxx(), xxx xxx xxxxxxx xxxx xx xxxxxxxxx xxxxxxx xxxx. xxxx xxx xxxxxxx xxxx xxxxx xxxxxxx xxxxxx xxx xxx xxxx xxxxxxxxx.
  • xxxxxxx xxx xxxxxxxx xxxxx xxxxx xxxxxx xxxxx xxxxx-xxxxx xxxx. xxxx xx xxxx xxxxx xx xxxxx xxxxxxx xxxxx.

This problem is only available to subscribers.

Language: C++RefCounted
Sample tests

Unlock the problem to run it against the tests.