diff --git a/examples/lanesintergratetest.lua b/examples/lanesintergratetest.lua deleted file mode 100644 index 820385c..0000000 --- a/examples/lanesintergratetest.lua +++ /dev/null @@ -1,34 +0,0 @@ -package.path="?/init.lua;?.lua;"..package.path -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -multi:newAlarm(2):OnRing(function(self) - GLOBAL["NumOfCores"]=sThread.getCores() -end) -multi:newAlarm(7):OnRing(function(self) - GLOBAL["AnotherTest"]=true -end) -multi:newAlarm(13):OnRing(function(self) - GLOBAL["FinalTest"]=true -end) -multi:newSystemThread("test",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - print("Waiting for variable: NumOfCores") - print("Got it: ",sThread.waitFor("NumOfCores")) - sThread.hold(function() - return GLOBAL["AnotherTest"] -- note this would hold the entire systemthread. Spawn a coroutine thread using multi:newThread() or multi:newThreaded... - end) - print("Holding works!") - multi:newThread("tests",function() - thread.hold(function() - return GLOBAL["FinalTest"] -- note this will not hold the entire systemthread. As seen with the TLoop constantly going! - end) - print("Final test works!") - os.exit() - end) - local a=0 - multi:newTLoop(function() - a=a+1 - print(a) - end,.5) - multi:mainloop() -end) -multi:mainloop() diff --git a/examples/lanesintergratetest2.lua b/examples/lanesintergratetest2.lua deleted file mode 100644 index ecaf091..0000000 --- a/examples/lanesintergratetest2.lua +++ /dev/null @@ -1,59 +0,0 @@ -package.path="?/init.lua;?.lua;"..package.path -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -- loads the lanesManager and includes the entire multi library -local function comma_value(amount) - local formatted = amount - while true do - formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2') - if (k==0) then - break - end - end - return formatted -end -multi:newSystemThread("test1",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 1"):OnBench(function(self,c) GLOBAL["T1"]=c multi:Stop() end) - multi:mainloop() -end) -multi:newSystemThread("test2",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 2"):OnBench(function(self,c) GLOBAL["T2"]=c multi:Stop() end) - multi:mainloop() -end) -multi:newSystemThread("test3",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 3"):OnBench(function(self,c) GLOBAL["T3"]=c multi:Stop() end) - multi:mainloop() -end) -multi:newSystemThread("test4",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 4"):OnBench(function(self,c) GLOBAL["T4"]=c multi:Stop() end) - multi:mainloop() -end) -multi:newSystemThread("test5",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 5"):OnBench(function(self,c) GLOBAL["T5"]=c multi:Stop() end) - multi:mainloop() -end) -multi:newSystemThread("test6",function() -- spawns a thread in another lua process - require("multi.all") -- now you can do all of your coding with the multi library! You could even spawn more threads from here with the intergration. You would need to require the interaction again though - multi:benchMark(sThread.waitFor("Bench"),nil,"Thread 6"):OnBench(function(self,c) GLOBAL["T6"]=c multi:Stop() end) - multi:mainloop() - print("Bench: ",comma_value(tostring(sThread.waitFor("T1")+sThread.waitFor("T2")+sThread.waitFor("T3")+sThread.waitFor("T4")+sThread.waitFor("T5")+sThread.waitFor("T6")))) - GLOBAL["DONE"]=true -end) -multi:newThread("test0",function() - -- sThread.waitFor("DONE") -- lets hold the main thread completely so we don't eat up cpu - -- os.exit() - -- when the main thread is holding there is a chance that error handling on the system threads may not work! - -- instead we can do this - while true do - thread.skip(1) -- allow error handling to take place... Otherwise lets keep the main thread running on the low - sThread.sleep(.001) -- Sleeping for .001 is a greeat way to keep cpu usage down. Make sure if you aren't doing work to rest. Abuse the hell out of GLOBAL if you need to :P - if GLOBAL["DONE"] then - os.exit() - end - end -end) -GLOBAL["Bench"]=60 -multi:mainloop() diff --git a/examples/lanesintergratetest3.lua b/examples/lanesintergratetest3.lua deleted file mode 100644 index e83d6f5..0000000 --- a/examples/lanesintergratetest3.lua +++ /dev/null @@ -1,48 +0,0 @@ -package.path="?/init.lua;?.lua;"..package.path -- Spawing threads using 1 method and the sThread.getCores() function! -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -- loads the lanesManager and includes the entire multi library -local function comma_value(amount) - local formatted = amount - while true do - formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2') - if (k==0) then - break - end - end - return formatted -end -GLOBAL["BENCHCOUNT"],GLOBAL["CNUM"],GLOBAL["DONE"]=0,0,0 -cores=sThread.getCores() -function benchmark() -- our single function that will be used across a bunch of threads - require("multi.all") -- get the library - local n=GLOBAL["CNUM"]; GLOBAL["CNUM"]=n+1 -- do some math so we can identify which thread is which - multi:benchMark(sThread.waitFor("BENCH"),nil,"Thread "..n+1):OnBench(function(self,c) GLOBAL["BENCHCOUNT"]=GLOBAL["BENCHCOUNT"]+c; GLOBAL["DONE"]=GLOBAL["DONE"]+1; multi:Stop() end) - -- ^ do the bench mark and add to the BENCHCOUNT GLOBAL value, then increment the DONE Value - multi:mainloop() -end -for i=1,cores do -- loop based on the number of cores you have - multi:newSystemThread("test"..i,benchmark) -- create a system thread based on the benchmark -end -multi:newThread("test0",function() - while true do - thread.skip(1) - sThread.sleep(.001) - if GLOBAL["DONE"]==cores then - print(comma_value(tostring(GLOBAL["BENCHCOUNT"]))) - os.exit() - end - end -end) -GLOBAL["BENCH"]=10 -print("Platform is: ",multi:getPlatform()) -- returns love2d or lanes depending on which platform you are using... If I add more intergrations then this method will be updated! corona sdk may see this library in the future... -multi:mainloop() ---[[ Output on my machine! I am using luajit and have 6 cores on my computer. Your numbers will vary, but it should look something like this -Intergrated Lanes! -Platform is: lanes -Thread 1 62442125 Steps in 10 second(s)! -Thread 2 61379095 Steps in 10 second(s)! -Thread 3 62772502 Steps in 10 second(s)! -Thread 4 62740684 Steps in 10 second(s)! -Thread 5 60926715 Steps in 10 second(s)! -Thread 6 61793175 Steps in 10 second(s)! -372,054,296 -]] diff --git a/examples/lanesintergratetest4.lua b/examples/lanesintergratetest4.lua deleted file mode 100644 index 40be2c4..0000000 --- a/examples/lanesintergratetest4.lua +++ /dev/null @@ -1,27 +0,0 @@ -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -queue=multi:newSystemThreadedQueue("QUEUE"):init() -queue:push("This is a test") -queue:push("This is a test2") -queue:push("This is a test3") -queue:push("This is a test4") -multi:newSystemThread("test2",function() - queue=sThread.waitFor("QUEUE"):init() - data=queue:pop() - while data do - print(data) - data=queue:pop() - end - queue:push("This is a test5") - queue:push("This is a test6") - queue:push("This is a test7") - queue:push("This is a test8") -end) -multi:newThread("test!",function() -- this is a lua thread - thread.sleep(.1) - data=queue:pop() - while data do - print(data) - data=queue:pop() - end -end) -multi:mainloop() diff --git a/examples/lanesintergratetest5.lua b/examples/lanesintergratetest5.lua deleted file mode 100644 index 7e0898a..0000000 --- a/examples/lanesintergratetest5.lua +++ /dev/null @@ -1,28 +0,0 @@ -package.path="?/init.lua;"..package.path -- slightly different usage of the code -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -queue=multi:newSystemThreadedQueue("QUEUE") -queue:push(1) -queue:push(2) -queue:push(3) -queue:push(4) -queue:push(5) -queue:push(6) -multi:newSystemThread("STHREAD_1",function() - queue=sThread.waitFor("QUEUE"):init() - GLOBAL["QUEUE"]=nil - data=queue:pop() - while data do - print(data) - data=queue:pop() - end -end) -multi:newThread("THREAD_1",function() - while true do - if GLOBAL["QUEUE"]==nil then - print("Deleted a Global!") - break - end - thread.skip(1) - end -end) -multi:mainloop() diff --git a/examples/lanesintergratetest6.lua b/examples/lanesintergratetest6.lua deleted file mode 100644 index 5b7443c..0000000 --- a/examples/lanesintergratetest6.lua +++ /dev/null @@ -1,14 +0,0 @@ --- lanes Desktop lua! NOTE: this is in lanesintergratetest6.lua in the examples folder -local GLOBAL,sThread=require("multi.integration.lanesManager").init() -test=multi:newSystemThreadedTable("YO"):init() -test["test1"]="lol" -multi:newSystemThread("test",function() - tab=sThread.waitFor("YO"):init() - print(tab["test1"]) - sThread.sleep(3) - tab["test2"]="Whats so funny?" -end) -multi:newThread("test2",function() - print(test:waitFor("test2")) -end) -multi:mainloop()