The built in user manual says the following:<br>
<br>
==========================================<br>
MzScheme supports multiple threads of control within a program. Threads
are implemented for all operating systems, even when the operating
system does not provide primitive thread support.<br>
<br>
(thread thunk) invokes the procedure thunk with no arguments in a
new thread of control. The thread procedure returns immediately with a
thread descriptor value. When the invocation of thunk returns, the
thread created to invoke thunk terminates.<br>
<br>
Example: <br>
<br>
(thread (lambda () (sleep 2) (display 7) (newline))) ; => a thread descriptor <br>
displays 7 after two seconds pass<br>
==========================================<br>
<br>
<br>
> (thread (lambda () (sleep 2) (display 7) (newline)))<br>
#<thread:932:10><br>
hash-table-get: expects type <hash-table> as 1st argument, given: #f; other arguments were: profile-point20003<br>
<br>
<br>
i then tried doing it in a "clean" environment, (i.e. a environment in
which none of my programs had been run) and it worked fine. Wthat
could I be doing that could be causing this?<br>
<br>
The following are things that I could imagine might be related:<br>
<br>
* My program uses a GUI (and therefore threads are already happening)<br>
* My version is a bit old:<br>
Welcome to DrScheme, version 299.406-svn25nov2005.<br>
* I have profiling switched on:<br>
Language: Pretty Big (includes MrEd and Advanced Student) custom...<br>
<br>
<br>
***Ok, I just tried it with profiling turned off, and things worked
fine. Is there a conflict between profiling and threads?<br>
<br>
Corey<br>
<br>-- <br>((lambda (y) (y y)) (lambda (y) (y y)))