gpt4 book ai didi

scheme - 为什么线程没有执行(Racket)

转载 作者:行者123 更新时间:2023-12-04 18:13:20 24 4
gpt4 key购买 nike

我有一个程序,它的一个功能需要很长时间,比如 longfunc (在 longfunc 中所做的具体事情是生成一堆文件)。所以我想用thread异步执行此 longfunc .但是,当我像下面这样写时,它并没有真正执行 longfunc因为没有生成文件...
(thread
(λ ()
(longfunc arg1 arg2)))

当我得到上面的线程描述符,测试线程是否正在运行时,它说的是真的,这太奇怪了......

任何人都可以解释线程发生了什么吗?是因为一些内部调度方案吗?如何让线程正常运行?

最佳答案

线程应该正常启动和运行。例如,运行这个程序

#lang racket

(thread (lambda ()
(for ([i 10])
(sleep 2)
(printf "thread 1\n"))))


(thread (lambda ()
(for ([i 20])
(sleep 1)
(printf "thread 2\n"))))

应该向您显示两个线程同时运行。

关于scheme - 为什么线程没有执行(Racket),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com