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&nbsp;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))) ; =&gt; a thread descriptor <br>
&nbsp;displays 7 after two seconds pass<br>
==========================================<br>
<br>
<br>
&gt; (thread (lambda () (sleep 2) (display 7) (newline)))<br>
#&lt;thread:932:10&gt;<br>
hash-table-get: expects type &lt;hash-table&gt; as 1st argument, given: #f; other arguments were: profile-point20003<br>
<br>
<br>
i then tried doing it in a &quot;clean&quot; environment, (i.e. a environment in
which none of my programs had been run) and it worked fine.&nbsp; 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>
&nbsp;&nbsp;&nbsp;&nbsp; Welcome to DrScheme, version 299.406-svn25nov2005.<br>
* I have profiling switched on:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp; Is there a conflict between profiling and threads?<br>
<br>
Corey<br>
<br>-- <br>((lambda (y) (y y)) (lambda (y) (y y)))