Let's say that, instead philosophers, we have TCP/IP connections to a server, and instead forks we have the server's TCP/IP avaliable ports. In this scenario, we don't have a lot of connections competing for the ports: we have a few number of malicious connections that will take a lot of time to process, so they will take the awaliable ports and release them after a long time (from some minutes to several hours). In this scenario, actual non-attacking connections will "starve".
In this case, the analogy would be:
- avaliable ports: forks
- non attacking connections: philosophers that spend more time thinking than eating
- attacking or malicious connections: philosophers that spend a lot more time eating than thinking.
If we ignore the case when every philosopher takes one fork (they deadlock eachother), I consider Dining-Philosophers an example for resource starvation, because if there are no avaliable shared resources, the threads will wait (maybe forever) until a resource is released by another thread.