object oriented programming java

 

Simulate the functioning of a network interface. An interface has a MAC address (a String). Computers (threads) send ethernet frames to the network interface input which is a waiting queue. Computers send frames every 1 second. Each frame contains a message and a destination address.

The network interface controller (thread) gets the frame from the queue and checks if the destination address is the same with the network card address. If they are they are different the packet is dropped. If they are the same the controller displays on the screen Frame with message <message> was accepted. Every 5 seconds the controller outputs on the screen statistics : how many frames were accepted, how many were dropped.

In main test the program with 100 computers, each sending 10 frames and a network interface card. Solve the concurrent access to shared resources using objects lock, wait and notify.