Project 4 Seaport

This project was successfully completed by appotato10 for $166 USD in 3 days.

Get free quotes for a project like this
Employer working
Completed by:
Skills Required
Project Budget
$30 - $250 USD
Completed In
3 days
Total Bids
Project Description

Extend project 3 to include making jobs wait until people with the resources required by the job are available at the port.


Reading Job specifications from a data file and adding the required resources to each Job instance.

Resource pools - [url removed, login to view] <Person> list of persons with particular skills at each port, treated as resource pools, along with supporting assignment to ships and jobs.

Job threads - using the resource pools and supporting the concept of blocking until required resources are available before proceeding.

The Job threads should be efficient:

If the ship is at a dock and all the people with required skills are available, the job should start.

Otherwise, the Job should not hold any resources if it cannot progress.

Use synchronization to avoid race conditions.

Each Job thread should hold any required synchronization locks for a very short period.

When a job is over, all the resources used by the job (the people) should be released back to the port.

When all the jobs of a ship are done, the ship should depart the dock and if there are any ships in the port que, one of then should should be assigned to the free dock, and that ships jobs can now try to progress.

NOTE: If a job can never progress because the port doesn't have enough skills among all the persons at the port, the program should report this and cancel the job.

GUI showing:

Resources in pools - how many people with skill are currently available

Thread progress, resources acquired, and resources requests still outstanding

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online