Demonstrates use of concurrent.futures.ThreadPoolExecutor and asyncio.Semaphore in separate examples to check outbound port connectivity.
In both examples, the maximum number of concurrent connections is limited to 5 (user option). This examples shows that Asyncio using