24 lines
696 B
Python
24 lines
696 B
Python
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() |