Coding
Concurrency

Seqlock for a Hot Snapshot

Premium
Difficulty

Asked at Jump Trading, Hudson River 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.

x xxxxxx xxxx xxxxxx xxxxxxxxxx xxx xx xxxx xxxx xxxxx xx xxxx xx xxxx xx x xxxxxxxx xxxx xx xxxx xx xxxx xx. x xxxxxx-xxxxxx xxxx xxxxxx xxxxxxx xxxx: x xxxxxx xxxxxxx xxx xxxxxx xxxx xxxxxx xxx xxxxxx xxxxx xx xx xxxx.

x xxxxxxx xxxxxxx xxx xxxx. xxx xxxxxx xxxxx xxxxx xx xxxxxxx, xxxxx xxxxx x xxxx, xxx xxxxx xxxxx. xxxxxxx xxxxxx xxxx xxxx xxxxx xxx xxx xxxxx.

xxxxxxxxx xxxxxxx.

  • xxxxx(xxx, xxx, xxxxx) — xxxxxxx x xxx xxxxxxxx
  • xxxx() — xxxxxx x xxxxxxxxxx xxx
  • xxxxxxx(), xxxxxxx()

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

xxxxxxxx

xxxxxxx x;
x.xxxxx(xxx, xxx, x);
x.xxxxxxx();   // x, xxx xxxxx xxx xxxxx

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

xxxxxxxxxxx

  • xxxxxxxx xxxx xxxx xxx xxx xxxxxxx xxxxxxxx xxx xxxxx xx xxx xxxxxxx xxx: xx xxx xxxxx xxxxxxxx xxxxx x xxxxx xxx xx xxxxxxxx xxx xxx xxxxx xxxx. xxxx xxxxxxxx xxxx xx xxxxx xxx xxxx.
  • xxx xxxxxx'x xxxxxxx xxxxxx xxxx xxxx xxxxx xxx xxxxx xxxx xxx xxxxxx xxx xxxxxx, xxx xxx xxxxxx'x xxxxxxx xxxxx xxxx xxx xx xxxxxxx xxxxx xxx xxxxx xxxxxxx xxxx. xx xxx xxxx xxxxxxx xx xxxx xxxxxxx xxxxxx xx; xxx xxxxxx xxx xxxx xxxx xx xxxx.
  • xxxxxxx xxx xx xxxxxxx xx x xxxx xxxxxx, xxx xxxxxxx xx xxxx xxxx xxxx xxxxxx xxxx. xxxx xxx xxxxxxxxxx xxx x xxxxx xxx xxxxxxxx xxx xxxxx xxx xxxxxxxx xxxxxxxxx xx xxxx.

This problem is only available to subscribers.

Language: C++Seqlock
Sample tests

Unlock the problem to run it against the tests.