Find Jobs
Hire Freelancers

Bank Semaphore project.

$10-30 USD

Cancelado
Publicado hace casi 6 años

$10-30 USD

Pagado a la entrega
For this project, we will be simulating a bank, having some number of tellers. Each customer arrives at the bank, waits in a single line until a teller becomes free, and then goes to that teller to transact his/her business, leaving the bank when his/her business is done. In this case, a thread simulates each individual customer. The major parameters of this system are: the number of tellers, the rate at which new customers arrive (specified as an average interval between arrivals), and the average time it takes to service a customer. If (average inter-arrival time) = (average service time) / (# of tellers) then the system will eventually reach a steady state with a fairly constant waiting line length. The value for each of these three parameters supplied to the assignment’s program should be chosen to satisfy the above so the tellers are productive and the customers don’t become angry. Therefore, to test your program, choose values for two of the parameters in the equation of the above and then compute the value of the third parameter. You can generate several different sets of values for the three parameters to test your program. For this project, you write a program that simulates this system. At startup, your program will accept the three parameters mentioned above plus the length of time to run the simulation. All times will be entered in seconds. To avoid having to run the program for an entire day, we will simulate ten seconds of "simulated world" time by one second of actual program run time. The simulation will proceed as follows: 1. One thread will be responsible for creating new customers at random intervals, such that the average time between new customers is equal to the specified parameter. It will exist throughout the simulation. 2. Created when a customer arrives, a unique thread simulates each customer, works its way through the bank, and then terminates. 3. A general semaphore that uses a FIFO queue will simulate the waiting line. 4. The semaphore initializes to the number of tellers. If there are n tellers, then the first n customers doing an acquire() on this semaphore will be able to proceed without delay. 5. When each customer thread enters the bank, he/she will do a acquire() on this semaphore. When he/she finishes being served, he/she will do a release(), allowing another customer to pass the semaphore and use the teller.
ID del proyecto: 16952498

Información sobre el proyecto

3 propuestas
Proyecto remoto
Activo hace 6 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
3 freelancers están ofertando un promedio de $70 USD por este trabajo
Avatar del usuario
A proposal has not yet been provided
$105 USD en 3 días
4,9 (315 comentarios)
7,2
7,2
Avatar del usuario
Hi. bro I checked whole project. Im expert in Java. Im interested . so Ill do it in 3 days. Thanks.
$40 USD en 3 días
4,9 (123 comentarios)
6,1
6,1
Avatar del usuario
hey, I understood your project description. Could you please provide further details on input and output test data if you have? So that i can do test runs and code it for you and start asap.
$66 USD en 2 días
5,0 (5 comentarios)
2,6
2,6

Sobre este cliente

Bandera de UNITED STATES
Jamaica, United States
4,9
8
Forma de pago verificada
Miembro desde dic 2, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.