Added rand() to producer
This commit is contained in:
+4
-4
@@ -1,17 +1,17 @@
|
||||
#include "consumer.h"
|
||||
#include "shared.h"
|
||||
|
||||
void Consumer(void)
|
||||
void* Consumer(void* arg)
|
||||
{
|
||||
int item;
|
||||
long int consumeNum;
|
||||
while (1)
|
||||
{
|
||||
// down(&full);
|
||||
// down(&mutex);
|
||||
item = remove_item();
|
||||
consumeNum = remove_item();
|
||||
// up(&mutex);
|
||||
// up(&empty);
|
||||
consume_item(item);
|
||||
consume_item(consumeNum);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/shm.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include "consumer.h"
|
||||
#include "producer.h"
|
||||
#include "shared.h"
|
||||
|
||||
int GetSplitAmount(char* argv);
|
||||
void TestProducerConsumer(void);
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
srand(time(NULL));
|
||||
sharedMem testMemory;
|
||||
|
||||
int splitLimit = 1;
|
||||
if (argc == 2)
|
||||
splitLimit = GetSplitAmount(argv[1]);
|
||||
TestProducerConsumer();
|
||||
}
|
||||
|
||||
int GetSplitAmount(char* argv)
|
||||
@@ -21,3 +27,9 @@ int GetSplitAmount(char* argv)
|
||||
sscanf(argv, "%d", &splitAmount);
|
||||
return splitAmount;
|
||||
}
|
||||
|
||||
void TestProducerConsumer(void)
|
||||
{
|
||||
Producer(NULL);
|
||||
Consumer(NULL);
|
||||
}
|
||||
|
||||
+7
-5
@@ -1,17 +1,19 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "producer.h"
|
||||
#include "shared.h"
|
||||
|
||||
void Producer(void)
|
||||
void* Producer(void* arg)
|
||||
{
|
||||
int item;
|
||||
long int insertNum;
|
||||
while (1)
|
||||
{
|
||||
item = produce_item();
|
||||
insertNum = produce_item();
|
||||
printf("The random number is %li\n", insertNum);
|
||||
// sem_wait(&semProducer);
|
||||
// down(&empty);
|
||||
// down(&mutex);
|
||||
insert_item(item);
|
||||
insert_item(insertNum);
|
||||
// sem_post(&semProducer);
|
||||
// up(&mutex);
|
||||
// up(&full);
|
||||
@@ -21,7 +23,7 @@ void Producer(void)
|
||||
|
||||
long int produce_item(void)
|
||||
{
|
||||
return random();
|
||||
return rand() % 10;
|
||||
}
|
||||
|
||||
void insert_item(long int item)
|
||||
|
||||
Reference in New Issue
Block a user