import concurrent.futures import time # Define the function you want to run with a timeout def my_task(): print("Task started") # Simulate a long-running task time.sleep(5) print("Task completed") return "Task result" # Main program def main(): with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor: future = executor.submit(my_task) try: # Wait for 2 seconds for my_task to complete result = future.result(timeout=2) print(f"Task completed with result: {result}") except concurrent.futures.TimeoutError: print("Task did not complete in time") if __name__ == "__main__": main()