User interface 球拍/gui:睡眠而不冻结gui
我正在编写单元测试,我想:User interface 球拍/gui:睡眠而不冻结gui,user-interface,racket,sleep,User Interface,Racket,Sleep,我正在编写单元测试,我想: 开架 等几秒钟 合上框架 以下是我尝试的代码: #lang racket/base (require plot racket/class) (define f (plot3d-frame (surface3d (λ (x y) (* (cos x) (sin y))) -3.0 3.0 -3.0 3.0))) (send f show #true) (sleep 10) (send f show #false) 运行此操作将打开一个空白帧,等待10秒,然后关闭
#lang racket/base
(require plot racket/class)
(define f
(plot3d-frame (surface3d (λ (x y) (* (cos x) (sin y))) -3.0 3.0 -3.0 3.0)))
(send f show #true)
(sleep 10)
(send f show #false)
运行此操作将打开一个空白帧,等待10秒,然后关闭该帧。情节从未出现过。我猜这是因为sleep
使整个线程,包括
有没有一种方法可以让我的代码休眠而不让GUI休眠?是的,使用
#lang racket/base
(require plot racket/class racket/gui/base)
(define f
(plot3d-frame (surface3d (λ (x y) (* (cos x) (sin y))) -3.0 3.0 -3.0 3.0)))
(send f show #true)
(sleep/yield 10)
(send f show #false)
;; "It works every time!"