12-01-2010
producer consumer
Control two exclusively shared resources. The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the code.
Thanks in advance.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all,
I have an Producer/Consumer program in C(using shared memory and semaphores).It is working fine with sleep calls after every read/write operation.Each one is a independent program.Now if i remove the sleep calls in consumer,it goes on waiting in the loop till the producer puts some valid... (3 Replies)
Discussion started by: poorni_uma
3 Replies
2. Programming
The intention of the program. Create N threads with 2 shared memories.
One shared memory to write, one shared memory to recieve.
Consumer creates 2 shared memory to share with producer.
I need H threads for the producer as well(somebody help on it..)
Also another question, would segment_id... (2 Replies)
Discussion started by: joey
2 Replies
3. UNIX for Dummies Questions & Answers
I would like to loop through a set of directories, performing operation(s) on each one. The basic script** is
dirs=`find . -name .svn -print`
for f in $dirs; do
echo "Processing $f directory .."
done
Fine and dandy, but here is the problem: the find expression must complete... (2 Replies)
Discussion started by: jakeo25
2 Replies
4. UNIX for Dummies Questions & Answers
I would like to loop through a set of directories, performing operation(s) on each one. The basic script** is
dirs=`find . -name .svn -print`
for f in $dirs; do
echo "Processing $f directory .."
done
Fine and dandy, but here is the problem: the find expression must complete... (7 Replies)
Discussion started by: jakeo25
7 Replies
5. Programming
Control two exclusively shared resources. The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the code.
... (0 Replies)
Discussion started by: gokult
0 Replies
6. Shell Programming and Scripting
Control two exclusively shared resources. The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the code.
... (1 Reply)
Discussion started by: gokult
1 Replies
7. UNIX for Advanced & Expert Users
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (0 Replies)
Discussion started by: gokult
0 Replies
8. Programming
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (0 Replies)
Discussion started by: gokult
0 Replies
9. Homework & Coursework Questions
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (1 Reply)
Discussion started by: gokult
1 Replies
10. UNIX for Dummies Questions & Answers
normally, i hate asking someone to do my homework for me but am getting desperate right now.
i have a project about consumer producer problem. the deadline is tonight at 23:55. but i havent gotten it working yet. i just COULDNT get it to work right yet.
the problem is as follows: the C - program... (0 Replies)
Discussion started by: alexantosh
0 Replies
LEARN ABOUT FREEBSD
buf_ring
BUF_RING(9) BSD Kernel Developer's Manual BUF_RING(9)
NAME
buf_ring, buf_ring_alloc, buf_ring_free, buf_ring_enqueue, buf_ring_dequeue_mc, buf_ring_dequeue_sc, buf_ring_count, buf_ring_empty,
buf_ring_full, buf_ring_peek, -- multi-producer, {single, multi}-consumer lock-less ring buffer
SYNOPSIS
#include <sys/param.h>
#include <sys/buf_ring.h>
struct buf_ring *
buf_ring_alloc(int count, struct malloc_type *type, int flags, struct mtx *sc_lock);
void
buf_ring_free(struct buf_ring *br, struct malloc_type *type);
int
buf_ring_enqueue(struct buf_ring *br, void *buf);
void *
buf_ring_dequeue_mc(struct buf_ring *br);
void *
buf_ring_dequeue_sc(struct buf_ring *br);
int
buf_ring_count(struct buf_ring *br);
int
buf_ring_empty(struct buf_ring *br);
int
buf_ring_full(struct buf_ring *br);
void *
buf_ring_peek(struct buf_ring *br);
DESCRIPTION
The buf_ring functions provide a lock-less multi-producer and lock-less multi-consumer as well as single-consumer ring buffer.
The buf_ring_alloc() function is used to allocate a buf_ring ring buffer with count slots using malloc_type type and memory flags flags. The
single consumer interface is protected by sc_lock.
The buf_ring_free() function is used to free a buf_ring. The user is responsible for freeing any enqueued items.
The buf_ring_enqueue() function is used to enqueue a buffer to a buf_ring.
The buf_ring_dequeue_mc() function is a multi-consumer safe way of dequeueing elements from a buf_ring.
The buf_ring_dequeue_sc() function is a single-consumer interface to dequeue elements - requiring the user to serialize accesses with a lock.
The buf_ring_count() function returns the number of elements in a buf_ring.
The buf_ring_empty() function returns TRUE if the buf_ring is empty, FALSE otherwise.
The buf_ring_full() function returns TRUE if no more items can be enqueued, FALSE otherwise.
The buf_ring_peek() function returns a pointer to the last element in the buf_ring if the buf_ring is not empty, NULL otherwise.
RETURN VALUES
The buf_ring_enqueue() function return ENOBUFS if there are no available slots in the buf_ring.
HISTORY
These functions were introduced in FreeBSD 8.0.
BSD
September 27, 2012 BSD