Coding
Concurrency

Reclaim Without a GC

Premium
Difficulty

Asked at Jump Trading, Citadel Securities

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.

x xxxx-xxxx xxxxxx xxxxx x xxxxxxx xxx xx x xxxxxx xxxxxxxx xxx xxxx xxxxx xx xxxxxxxxxxx xx. xxxxxxx xxxxx xxxxxxx xxxxxx xxxxxxxxx xxx xxxxxxxx xxxx xxxx xx xxxxxxx. xxxx xx xxx xxxxxxx xxxx xx xxxx-xxxx xxxxxxxxxxx xxx xx xxx xxxxxxx xx xx xxxx xxx xxxxxxxxx: xxx xxxx xxxxxxxxx xx xxxxxxx, xxx xxx xxxxxx xxxx xxxxxxxx.

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

xxxxxx xxxxxxxx xxxx xxx xxxx xx xxx xxxxxxx. x xxxxxx xxxxxxxxx xxx xxxxxxx xx xx xxxxx xx xxx xxxx x xxxx xxxx xx xxxxxx, xxxxx xx x xxxxx xxxxx xx xx xxxxxxxxxxx xxxx. x xxxxxx xxxx xxxxx xx xxxxxx xxxxx xxxxx xxxxx xxxxxxxxx xxxx xxx xxxxxx xxxxxxxx xx xxxxx.

xxxxxxxxx xxxxxxxxxxxx<xxxxx>.

  • xxxxxxx(xxxx, xxxxxx) — xxxxxxx xxxxxx'x xxxxx xxxx xxxx xxx xxxxxx xx
  • xxxxxxx(xxxx) — xxxxxxx xxxxxxx
  • xxxxxx(xxxx) — xxxx xxxx xx xxxxxxxx; xxxxxx xx xxxx xx xxxx xxxxx xx
  • xxxxxxx() — xxxx xxx xxxxx xxx xxxx xxxxxxxx xx xxxxxxxxxxx
  • xxxxxxx_xxxxx()

xxxxxxxx

xxxx* xxxx = x.xxxxxxx(x, xxxxxx);   // xxxxxxxxx
x.xxxxxx(xxxxxx.xxxxxxxx(xxx xxxx(x)));
x.xxxxxxx();                         // xxx xxx xxxx xx xxx xxxxx
x.xxxxxxx(x);
x.xxxxxxx();                         // xxx xx xx

xxxxxxxxxxx

  • xxxxxxx xxxx xxxx. xxxxxxxxxx x xxxxxxx xx xxxxxxxxx xx xxx xxxxxx xxxxxxx xx xxx xxxxxxxx: xxx xxxxx xxx xxxxxxxxx xxx xxxxxxx xxxx xxxx xxxxxxx xx xxxxxxxx xxx xxxxxxx xxxxxx xxx xxxxxxxxx xx. xxxxxxx, xx-xxxx xxx xxxxxx, xxx xxxxx xxxxx xx xx xxxxx.
  • xxxxxx xxxx xxx xxxxxx. xx xxxxxx, xxx xxxxxxxxxxx xxxxxxx xx xxxxxxx, xxxxx xx xxxx xxxxx xxx ( x(xxxx{xxxxx}) ) xxxx xxxxxxxxx.
  • x xxxxxxxxx xxxx xxxxx xx xxx xxxxxxx xxxx xxx xx xxxxx xxxxx xxxxx. xx xx xxxxx xxxxxx xxx xxxxx xxxxx xxxxx, xxxx xxxxx xxxx. xxxx xx xxx xxxxx.
  • xxx xxxxx xxxx xxx xxxxxxx xxxxxxx xxxxx xxxxxxxx xxxxxxxxxxxx xxx xxxxxxxx xxxx xxxxx xxxx xx xxxxxxxxxx xxxxx. xxxxx xxxxx xxx xxxxxxx xxx, xxx xxxx xxxxxxxxxxxxx: x xxx-xxxxx-xxxx xxxx xxx xxxx xxxxxxxxxxxxxxxxx, xx xxx xxxx-xxx-xxxxxxxx-xxxx xxxxxxxxx xx xxx xxx xx xxxxx.

This problem is only available to subscribers.

Language: C++HazardDomain
Sample tests

Unlock the problem to run it against the tests.