Ok, I didn't notice this API available since v8 3.25. I will have to wait for my team to migrate to a new version of v8 then ...
Thanks Julien. On Thursday, June 12, 2014 1:44:27 AM UTC+2, Jochen Eisinger wrote: > > > > > On Tue, Jun 10, 2014 at 8:38 AM, juu <[email protected] <javascript:>> > wrote: > >> Hello everyone, >> >> I'm trying to implement RequireJS on my JS Engine based on v8 (v8 3.21). >> I have a problem with asynchronous loading and evaluation of scripts. >> >> The main thread initialize v8 : create its isolate, context, script etc >> .. >> When the main script is ready, the current isolate is locked and the >> script is run. >> >> Once a " *require(anotherScript)* " is encoutered (in my main script), >> another thread is created and is in charge of loading *anotherScript *and >> execute it as soon as possible. >> >> My problem is that the main thread lock the current isolate until the >> whole main script is executed. Which let no chance to *anotherScript *to >> be called asynchronously ; actually it's always executed synchronously >> since *anotherScript *manage to Lock the current isolate only once the >> main thread is finished and unlock the current isolate. >> >> I use v8::Locker and v8::Locker to deal with my "multithreaded" use of >> v8. In my version of v8 : 3.21, v8::Locker provide a preemption feature >> which enable me to give some chance to other threads to lock v8 >> periodically : >> >> /**Start preemption.When preemption is started, a timer is fired every n >> milliseconds that will switch between multiple threads that are in >> contention for the V8 lock. */ >> static void StartPreemption(int every_n_ms); >> >> /** Stop preemption.*/ >> static void StopPreemption(); >> >> But ...this feature is no longer available in the next versions of v8 >> (since 3.23) . >> This post confirm it : >> https://groups.google.com/forum/#!searchin/v8-users/StartPreemption/v8-users/E5jtPC-scp8/H-2yz4Wj_SkJ >> >> So here are my questions : >> >> Is there any other way to perform the Preemption v8 used to provide ? >> Am I supposed to do it myself ? I dont think I can, I guess can't >> interrupt/pause myself the execution properly... >> > > I guess you can do this by using the RequestInterrupt API? > > best > -jochen > > > >> Am I doing something wrong in my global use of v8 and multiple threads ? >> >> Thanks a lot ! >> Julien. >> >> -- >> -- >> v8-users mailing list >> [email protected] <javascript:> >> http://groups.google.com/group/v8-users >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
