Abnormal producer consumer problem driving me nuts
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 will prompt for the following integer inputs:
j: the number of candy items produced by each producer thread before it quits
now each producer thread produces a specific candy item, and each consumer thread takes an item out of the buffer one at a time. say producer1 produces red, prducer2 blue and so on.. as for consumer threads. after a given consumer thread has filled a given box; it prints the contents of the box as follows:
Consumer thread A filled a new box of candy containing: blue 3, red 7, green 8, ...
if you dont have the time to waste on beginngers' coding: atleast please hint out on how i should plan my work, because may be my problem is in the code structure. thanks
my head is now throbbing i can nolonger even think straight. anyhelp will be deeply appreciated. thanks in advance.
Moderator's Comments:
Homework in wrong forum. Closed.
Last edited by jim mcnamara; 01-05-2013 at 09:02 AM..
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)
I use a tcsh and I need to monitor a file that its constantly updating.
In the past I remember using less -(an option) fileName.
This option told less to keep listening to this file and output the any changes.
What is this option??? I think I read the man page for less like 5 times and I... (3 Replies)
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)
Hello guys I am trying to learn perl and have a simple calculator I am trying to run but I get error runaway multi-line. Can someone point this rookie in the right direction.
###
print 'Welcome to the Calculator';
print 'Would you like to enter the calculator? Please Type y or n';
$run =... (9 Replies)
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)
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)
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)
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.
... (3 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
normally, i hate asking someone to do my homework for me but am getting desperate right now.
i have a project... (1 Reply)
There is an error in this script on line 17 bee at it for 12 hour trying to find the problem, just lost. please help a newbie.
line 17:
#!/bin/sh
2 ## Name of the program is test_script_b.sh
3
4 ##request information from the user
5 echo enter 3 numbers
6 read a b c
7
8... (4 Replies)
Discussion started by: osdustin
4 Replies
LEARN ABOUT MOJAVE
net::ldap::dsml
Net::LDAP::DSML(3) User Contributed Perl Documentation Net::LDAP::DSML(3)NAME
Net::LDAP::DSML -- A DSML Writer for Net::LDAP
SYNOPSIS
For a directory entry;
use Net::LDAP;
use Net::LDAP::DSML;
use IO::File;
my $server = "localhost";
my $file = "testdsml.xml";
my $ldap = Net::LDAP->new($server);
$ldap->bind();
#
# For file i/o
#
my $file = "testdsml.xml";
my $io = IO::File->new($file,"w")
or die ("failed to open $file as filehandle.$!
");
my $dsml = Net::LDAP::DSML->new(output => $io, pretty_print => 1 )
or die ("DSML object creation problem using an output file.
");
# OR
#
# For file i/o
#
open (IO,">$file") or die("failed to open $file.$!");
my $dsml = Net::LDAP::DSML->new(output => *IO, pretty_print => 1)
or die ("DSML object creation problem using an output file.
");
# OR
#
# For array usage.
# Pass a reference to an array.
#
my @data = ();
$dsml = Net::LDAP::DSML->new(output => @data, pretty_print => 1)
or die ("DSML object creation problem using an output array.
");
my $mesg = $ldap->search(
base => 'o=airius.com',
scope => 'sub',
filter => 'ou=accounting',
callback => sub {
my ($mesg,$entry) =@_;
$dsml->write_entry($entry)
if (ref $entry eq 'Net::LDAP::Entry');
}
);
die ("search failed with ",$mesg->code(),"
") if $mesg->code();
For directory schema;
A file or array can be used for output, in the following example
only an array will be used.
my $schema = $ldap->schema();
my @data = ();
my $dsml = Net::LDAP::DSML->new(output => @data, pretty_print => 1 )
or die ("DSML object creation problem using an output array.
");
$dsml->write_schema($schema);
print "Finished printing DSML
";
DESCRIPTION
Directory Service Markup Language (DSML) is the XML standard for representing directory service information in XML.
At the moment this module only writes DSML entry and schema entities. Reading DSML entities is a future project.
Eventually this module will be a full level 2 consumer and producer enabling you to give you full DSML conformance. Currently this module
has the ability to be a level 2 producer. The user must understand the his/her directory server will determine the consumer and producer
level they can achieve.
To determine conformance, it is useful to divide DSML documents into four types:
1.Documents containing no directory schema nor any references to
an external schema.
2.Documents containing no directory schema but containing at
least one reference to an external schema.
3.Documents containing only a directory schema.
4.Documents containing both a directory schema and entries.
A producer of DSML must be able to produce documents of type 1. A producer of DSML may, in addition, be able to produce documents of types
2 through 4.
A producer that can produce documents of type 1 is said to be a level 1 producer. A producer than can produce documents of all four types
is said to be a level 2 producer.
CALLBACKS
The module uses callbacks to improve performance (at least the appearance of improving performance ;) and to reduce the amount of memory
required to parse large DSML files. Every time a single entry or schema is processed we pass the Net::LDAP object (either an Entry or
Schema object) to the callback routine.
CONSTRUCTOR
new ()
Creates a new Net::LDAP::DSML object. There are 2 options to this method.
"output" is a reference to either a file handle that has already been opened or to an array.
"pretty_print" is an option to print a new line at the end of each element sequence. It makes the reading of the XML output easier for
a human.
Example
my $dsml = Net::LDAP::DSML->new();
Prints xml data to standard out.
my $dsml = Net::LDAP::DSML->new(output => @array);
my $dsml = Net::LDAP::DSML->new(output => *FILE);
Prints xml data to a file or array.
my $dsml = Net::LDAP::DSML->new(output => @array, pretty_print => 1);
my $dsml = Net::LDAP::DSML->new(output => *FILE, pretty_print => 1);
Prints xml data to a file or array in pretty print style.
METHODS
start_dsml ()
Start a DSML file.
end_dsml ()
End a DSML file.
write_entry ( ENTRY )
Entry is a Net::LDAP::Entry object. The write method will parse the LDAP data in the Entry object and put it into DSML XML format.
Example
my $entry = $mesg->entry();
$dsml->write_entry($entry);
write_schema ( SCHEMA )
Schema is a Net::LDAP::Schema object. The write_schema method will parse the LDAP data in the Schema object and put it into DSML XML
format.
Example
my $schema = $ldap->schema();
$dsml->write_schema($schema);
AUTHOR
Graham Barr gbarr@pobox.com
SEE ALSO
Net::LDAP, XML::SAX::Base
COPYRIGHT
Copyright (c) 2002-2006 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.
perl v5.18.2 2013-12-23 Net::LDAP::DSML(3)