<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Well,<br><br>I read the documentation and read the example codes, but cannot find a way to "spawn" functions to run in parallel in lua.<br><br>Any hints is greatly welcome ! <br><br><div><hr id="stopSpelling">From: deco33@hotmail.fr<br>To: uwsgi@lists.unbit.it<br>Date: Fri, 25 Apr 2014 08:03:03 +0200<br>Subject: Re: [uWSGI] Threads in lua ?<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr">Thanks Roberto,<br><br>So we will have to split our code into different apps then.<br>We cannot just do something like that  :<br><br>local function one()<br>       --do something long running (5s)<br>       return res<br><br>end<br><br><br>local function two()<br>       --do something fast<br>       return res<br>end<br><br>local c,d = one,two<br><br>-- here spawn means execute<br>local e = c.spawn<br>local f = d.spawn<br><br>-- here readState means read the result or wait for it until it is done.<br>e.readState()<br>f.readState()<br><br>That way we could run in parallel inside the same app.<br><br>Is this behavior possible ?<br><br>Thanks<br><br><div>> Date: Fri, 25 Apr 2014 07:32:29 +0200<br>> From: roberto@unbit.it<br>> To: uwsgi@lists.unbit.it<br>> Subject: Re: [uWSGI] Threads in lua ?<br>> <br>> <br>> > Hello,<br>> ><br>> > I am not sure to understand : Lua is not multithreaded but uses<br>> > coroutines.<br>> > I would not rely on libraries to provide the parallel tasking (lanes,<br>> > llthread and so on) because of internal policies.<br>> ><br>> > Yes, dumb but..<br>> ><br>> > Will uwsgi help us in this field for lua ?<br>> ><br>> > I thought about a rpc thing with sqlite to save the evolution but it is<br>> > not that interesting the end, because when the functions will not finish<br>> > at the same time you have to sleep for an arbitrary time and it is not a<br>> > reliable strategy (what if I sleep for one second and the process finished<br>> > 100 ms after the sleep ? 900 ms lost.)<br>> ><br>> > I would like to spawn functions and get the whole result in the end.<br>> ><br>> > Thanks<br>> ><br>> ><br>> >                                          _______________________________________________<br>> ><br>> <br>> uWSGI will generate a lua_state for every thread (if run in multithreaded<br>> mode). So yes, with uWSGI you can have multiple threads running the same<br>> lua app (without shared state)... and thanks to caches, queues  and locks<br>> (and rpc to some extent) uWSGI apis you can have shared states at various<br>> levels.<br>> <br>> <br>> -- <br>> Roberto De Ioris<br>> http://unbit.it<br>> _______________________________________________<br>> uWSGI mailing list<br>> uWSGI@lists.unbit.it<br>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi<br></div>                                          </div>
<br>_______________________________________________
uWSGI mailing list
uWSGI@lists.unbit.it
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi</div>                                          </div></body>
</html>