Find Jobs
Hire Freelancers

Bank Semaphore project.

$10-30 USD

Cancelled
Posted almost 6 years ago

$10-30 USD

Paid on delivery
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.
Project ID: 16952498

About the project

3 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
3 freelancers are bidding on average $70 USD for this job
User Avatar
A proposal has not yet been provided
$105 USD in 3 days
4.9 (315 reviews)
7.2
7.2
User Avatar
Hi. bro I checked whole project. Im expert in Java. Im interested . so Ill do it in 3 days. Thanks.
$40 USD in 3 days
4.9 (123 reviews)
6.1
6.1
User Avatar
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 in 2 days
5.0 (5 reviews)
2.6
2.6

About the client

Flag of UNITED STATES
Jamaica, United States
4.9
8
Payment method verified
Member since Dec 2, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.