I need help running this code. I keep getting errors showing *missing classes* i
ID: 3866576 • Letter: I
Question
I need help running this code. I keep getting errors showing *missing classes* issues and cannot find symbol. These are the Java codes:
import java.util.Date;
public class Factory
{
public static void main(String args[])
{
// creates the message queue
Channel<Date> queue = new MessageQueue<Date>();
// Creates the producer and consumer threads and pass
Thread producer = new Thread(new Producer(queue));
Thread consumer = new Thread(new Consumer(queue));
// start the threads
producer.start();
consumer.start();
}
}
import java.util.Date;
class Producer implements Runnable
{
private Channel<Date> queue;
public Producer(Channel<Date> queue)
{
this.queue = queue;
}
public void run()
{
Date message;
while (true)
{
// nap for awhile
SleepUtilities.nap();
// produces an item and enter it into the buffer
message = new Date();
System.out.println("Producer produced " + message);
queue.send(message);
}
}
}
import java.util.Date;
class Consumer implements Runnable
{
private Channel<Date> queue;
public Consumer(Channel<Date> queue)
{
this.queue = queue;
}
public void run()
{
Date message;
while (true)
{
// nap for awhile
SleepUtilities.nap();
// consumes an item from the buffer
message = queue.receive();
if (message != null)
System.out.println("Consumer consumed " + message);
}
}
}
Explanation / Answer
You need to create another class 'Channel 'as per the below:
import java.util.Date;
import java.lang.*;
public class Factory
{
public static void main(String args[])
{
// creates the message queue
Channel queue = new Channel();
// Creates the producer and consumer threads and pass
Thread producer = new Thread(new Producer(queue));
Thread consumer = new Thread(new Consumer(queue));
// start the threads
producer.start();
consumer.start();
}
}
class Channel{ // New Class added
private Date date;
public void send(Date message){
this.date =message;
}
public Date receive(){
return date;
}
}
class Producer implements Runnable
{
private Channel queue;
public Producer(Channel queue)
{
this.queue = queue;
}
public void run()
{
Date message;
while (true)
{
// nap for awhile
Thread.sleep(10);
// produces an item and enter it into the buffer
message = new Date();
System.out.println("Producer produced " + message);
queue.send(message);
}
}
}
class Consumer implements Runnable{
private Channel queue;
public Consumer(Channel queue)
{
this.queue = queue;
}
public void run()
{
Date message;
while(true)
{
// nap for awhile
Thread.sleep(10);
// consumes an item from the buffer
message = queue.receive();
if (message != null)
System.out.println("Consumer consumed " + message);
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.