module Main where import concurrent.Executors import concurrent.ExecutorService import concurrent.Future main :: IO () main = do executor <- Executors.newFixedThreadPool 5 future1 <- submitTask executor "Task 1" future2 <- submitTask executor "Task 2" result1 <- getResult future1 result2 <- getResult future2 putStrLn "Task 1 result:" print result1 putStrLn "Task 2 result:" print result2 Executors.shutdown executor submitTask :: ExecutorService -> String -> IO (Future String) submitTask executor task = do future <- Executors.submit executor $ do putStrLn $ "Executing task: " ++ task return task return future getResult :: Future a -> IO a getResult future = do result <- Future.get future return result


上一篇:
下一篇:
切换中文