I don’t make replies or comments that are intended to be “garbage,” nor would I for any reasoning as puerile as “upvotes” even if such a practice would garner any .. which I doubt. Puh-leeuze.
Multi-threading this particular program is of doubtful merit, and I simply made the comment in the context of what I see this program doing. Yes, it will be able to overlap doing multiple network pings at one time. That’s the only payoff that I see for what has suddenly become a very complicated design. There is no computation to be done here; all of the threads are going to gang-up on the SQL server, and their printed outputs are going to pop out very piecemeal. These threads have no real opportunity to “run free.” They only ping in parallel ... that’s it.
Hence, the warning-bells going off, hence the suggestion to “be sure” that a payoff, commensurate with the time already spent and the difficulty already encountered, actually exists in this case and for this program. I think that this application is a very poor candidate for a multi-threaded implementation.