He was just saying that you need to create one isolate for each new thread, so 
that you can make a context in each thread. With that, the threads can run 
independent from the other :) So you need to make it so, that thread1 has an 
own isolate, thread2 has an own isolate, and so on and so forth. :3
Am Fr. Jan. 31 2014 22:27:04 schrieb Sara Abdelhameed:

> Sorry, I don't get what you exactly meant, did you mean I create for every 
> thread including the main thread and enter them using an isolate scope? or 
> what I didn't understand  "(at least on all but the main threads) "?
> 
> Thank you in advance :) 
> 
> 
> On Fri, Jan 31, 2014 at 11:15 PM, Jochen Eisinger <joc...@chromium.org> wrote:
> Instead of using Isolate::GetCurrent() you have to create the isolates 
> explicitly (at least on all but the main threads) and enter them, e.g. using 
> an isolate scope.
> 
> best
> -jochen
> 
> 
> On Fri, Jan 31, 2014 at 10:09 PM, Sara Abdelhameed 
> <saraabdelhameed1...@gmail.com> wrote:
> I have tried these but it wasn't working with me,
> The code is:
> #include <v8.h>
> #include <pthread.h>
> using namespace v8;
> void* threadFunction(void*){
> Isolate *isolate1 = Isolate::GetCurrent();
> HandleScope handle_scope1(isolate1);
> Handle<Context> context1 = Context::New(isolate1);
>   Context::Scope context_scope1(context1);
>   Handle<String> source1 = String::NewFromUtf8(isolate1, "'Hi' + ', Sara'");
>   Handle<Script> script1 = Script::Compile(source1);
>   Handle<Value> result1 = script1->Run();
>   String::Utf8Value utf81(result1);
>   printf("%s\n", *utf81);
>   return 0;
> }
> int main(int argc, char* argv[]) {
>   Isolate* isolate = Isolate::GetCurrent();
>   HandleScope handle_scope(isolate);
>   Handle<Context> context = Context::New(isolate);
>   Context::Scope context_scope(context);
>  pthread_t thread_id;
> pthread_create(&thread_id, NULL, &threadFunction,NULL);
>   Handle<String> source = String::NewFromUtf8(isolate, "'Hello' + ', 
> World!'");
>   Handle<Script> script = Script::Compile(source);
>   Handle<Value> result = script->Run();
>   String::Utf8Value utf8(result);
>   printf("%s\n", *utf8);
>   return 0;
> }
> 
> and the command that I used to compile is 
> g++ -Iinclude Two_threads.cpp -o Two_threads -Wl,--start-group 
> out/native/obj.target/{tools/gyp/libv8_{base.ia32,snapshot},third_party/icu/libicu{uc,i18n,data}}.a
>  -Wl,--end-group -lrt
> and to execute is 
>  ./Two_threads
> 
> it was compiled without giving me any error but when I executed it i printed 
> only hello world! "the javascript string of the main thread" and didn't print 
> hi,Sara the javascript string of the single thread I have in the code. 
> 
> So, what is the problem? or what ? 
> 
> Thank you in advance
> 
> 
> 
> On Fri, Jan 31, 2014 at 11:45 AM, Sara Abdelhameed 
> <saraabdelhameed1...@gmail.com> wrote:
> Thank you, and I'll try that now, wish it work with me. 
> 
> 
> On Fri, Jan 31, 2014 at 9:40 PM, Dmitry Lomov <dslo...@chromium.org> wrote:
> 
> 
> 
> On Fri, Jan 31, 2014 at 11:38 AM, Sara Abdelhameed 
> <saraabdelhameed1...@gmail.com> wrote:
> so, if I want to make very simple example such as having two threads that 
> each one run different script and don't depend on each other, and I want them 
> to be in parallel, so I must use two isolate, for every thread there is one 
> isolate and no need to use lock as the scripts are different and independent 
> from each other. is this right? 
>  
> Yes that is correct.
> 
> 
> 
> On Friday, January 31, 2014 11:23:28 AM UTC+2, Jochen Eisinger wrote:
> There are two options: (1) use different isolates on each thread (then the 
> scripts can run in parallel) and (2) use one isolate and use v8::Locker to 
> lock the isolate before you use it (then only one thread at a time can 
> execute scripts)
> 
> best
> -jochen
> 
> 
> On Fri, Jan 31, 2014 at 9:51 AM, Sara Abdelhameed <saraabdel...@gmail.com> 
> wrote:
> Hello all, 
> does v8 engine support multithreaded application ? and could I run two 
> different javascript code in two different threads at the same time ? 
> 
> --



-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
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 v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to