| 179 | } |
| 180 | |
| 181 | std::string toString() const { |
| 182 | int runnersDone = 0; |
| 183 | for (int i = 0; i < runners.size(); ++i) { |
| 184 | if (runners[i].isReady()) { |
| 185 | ++runnersDone; |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | std::string s = |
| 190 | format("{ ptr=%p concurrency=%d available=%d running=%d waiting=%d runnersQueue=%d runnersDone=%d ", |
| 191 | this, |
| 192 | concurrency, |
| 193 | available, |
| 194 | concurrency - available, |
| 195 | waiting, |
| 196 | runners.size(), |
| 197 | runnersDone); |
| 198 | |
| 199 | for (int i = 0; i < waiters.size(); ++i) { |
| 200 | s += format("p%d_waiters=%u ", i, waiters[i].size()); |
| 201 | } |
| 202 | |
| 203 | s += "}"; |
| 204 | return s; |
| 205 | } |
| 206 | |
| 207 | private: |
| 208 | void addRunner(Lock& lock) { |