• Advertisement
Sign in to follow this  

asUnprepareMultithread

This topic is 1675 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

The Multithreading page in the documentation states:

 

  • If you plan on creating engines in multiple threads, the application should call asPrepareMultithread from the main thread before the first engine is created, and asUnprepareMultithread after the last engine has been created. This is to avoid race conditions when the engine creates the internal shared thread manager. If only one script engine is used, then it is not necessary to do go through these extra steps.

However, the documentation for the asUnprepareMultithread function states:

 

If asPrepareMultithread() has been called, then this function should be called after the last engine has been released to free the resources prepared for multithreading.

 

 

Which is correct?  Should asUnprepareMultithread be called after the last engine has been created, or after the last engine has been released.  Also, is it important that this function be called from the main thread like asPrepareMultithread?

 

Also, how important is it that asPrepareMultithread be called from the main thread?

Edited by Jason Goepel

Share this post


Link to post
Share on other sites
Advertisement

The latter description is the correct one. asUnprepareMultithread should be called after the last engine has been released.

 

It is not absolutely necessary that the calls are made from the main thread, but it is easier to guarantee the correct order of execution if it is done that way.

 

I'll update the manual to correct this. Thanks for bringing it to my attention.

 

Regards,

Andreas

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement