Broom 1.0.0
A thread-local C++ Garbage Collector
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
main.cc File Reference
#include <stdint.h>
#include <string.h>
#include <algorithm>
#include <condition_variable>
#include <cstdint>
#include <limits>
#include <mutex>
#include <numeric>
#include <print>
#include <queue>
#include <random>
#include <stack>
#include <string>
#include <thread>
#include "include/broom-vector.h"
#include "include/broom.h"
Include dependency graph for main.cc:

Go to the source code of this file.

Classes

class  BigThing
 
class  Job
 

Enumerations

enum class  Kind { kPrint , kAddNumbers , kProcessBigThing }
 

Functions

void ProduceJobs ()
 
void ProcessJob (Job *job)
 
void Worker ()
 
int main ()
 

Variables

constexpr const int KB = 1024
 
std::mutex job_queue_mtx
 
std::mutex stdout_mtx
 
std::queue< broom::sharing_ptr< Job > > job_queue
 
std::condition_variable cv
 
bool done = false
 
std::atomic< bool > exit_producer = false
 

Enumeration Type Documentation

◆ Kind

enum class Kind
strong
Enumerator
kPrint 
kAddNumbers 
kProcessBigThing 

Definition at line 68 of file main.cc.

Function Documentation

◆ main()

int main ( )

Definition at line 233 of file main.cc.

◆ ProcessJob()

void ProcessJob ( Job job)

Definition at line 193 of file main.cc.

◆ ProduceJobs()

void ProduceJobs ( )

Definition at line 118 of file main.cc.

◆ Worker()

void Worker ( )

Definition at line 214 of file main.cc.

Variable Documentation

◆ cv

std::condition_variable cv

Definition at line 34 of file main.cc.

◆ done

bool done = false

Definition at line 35 of file main.cc.

◆ exit_producer

std::atomic<bool> exit_producer = false

Definition at line 36 of file main.cc.

◆ job_queue

std::queue<broom::sharing_ptr<Job> > job_queue

Definition at line 33 of file main.cc.

◆ job_queue_mtx

std::mutex job_queue_mtx

Definition at line 31 of file main.cc.

◆ KB

constexpr const int KB = 1024
constexpr

Definition at line 20 of file main.cc.

◆ stdout_mtx

std::mutex stdout_mtx

Definition at line 32 of file main.cc.