- int num_threads = kReaderThreads + kWriterThreads + kReaderWriterThreads;
- std::thread *threads = new std::thread[num_threads];
- for (int i = 0; i < kReaderThreads; i++) {
- threads[i] = std::thread(ReaderThread);
- }
- for (int i = kReaderThreads; i < (kReaderThreads + kWriterThreads); i++) {
- threads[i] = std::thread(WriterThread);
- }
- for (int i = (kReaderThreads + kWriterThreads); i < num_threads; i++) {
- threads[i] = std::thread(ReaderWriterThread);
- }
-
- for (int i = 0; i < num_threads; i++) {
- threads[i].join();
+ for (int write_percentage = 5; write_percentage < 50; write_percentage += 5) {
+ std::thread *threads = new std::thread[s_nSeqLockReaderWriterThreadCount];
+ for (size_t i = 0; i < s_nSeqLockReaderWriterThreadCount; i++) {
+ threads[i] = std::thread(ReaderWriterThread, write_percentage);
+ }
+ for (int i = 0; i < s_nSeqLockReaderWriterThreadCount; i++) {
+ threads[i].join();
+ }
+ delete[] threads;