package.path = "./?/init.lua;?.lua;lua5.4/share/lua/5.4/?/init.lua;lua5.4/share/lua/5.4/?.lua;"--..package.path package.cpath = "lua5.4/lib/lua/5.4/?/core.dll;"--..package.cpath multi, thread = require("multi"):init{print=true,findopt=true} GLOBAL, THREAD = require("multi.integration.lanesManager"):init() multi:getOptimizationConnection()(function(msg) print(msg) end) -- local conn1, conn2, conn3 = multi:newConnection(), multi:newConnection(), multi:newConnection() -- thread:newThread(function() -- print("Awaiting status") -- thread.hold(conn1 + (conn2 * conn3)) -- print("Conn or Conn2 and Conn3") -- end) -- multi:newAlarm(1):OnRing(function() -- print("Conn") -- conn1:Fire() -- end) -- multi:newAlarm(2):OnRing(function() -- print("Conn2") -- conn2:Fire() -- end) -- multi:newAlarm(3):OnRing(function() -- print("Conn3") -- conn3:Fire() -- end) local conn = multi:newSystemThreadedConnection("conn"):init() multi:newSystemThread("Thread_Test_1", function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() local console = THREAD.getConsole() conn(function(a,b,c) console.print(THREAD:getName().." was triggered!",a,b,c) end) multi:mainloop() end) multi:newSystemThread("Thread_Test_2", function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() local console = THREAD.getConsole() conn(function(a,b,c) console.print(THREAD:getName().." was triggered!",a,b,c) end) multi:newAlarm(2):OnRing(function() console.print("Fire 2!!!") conn:Fire(4,5,6) THREAD.kill() end) multi:mainloop() end) local console = THREAD.getConsole() conn(function(a,b,c) console.print("Mainloop conn got triggered!",a,b,c) end) alarm = multi:newAlarm(1) alarm:OnRing(function() console.print("Fire 1!!!") conn:Fire(1,2,3) end) alarm = multi:newAlarm(3):OnRing(function() multi:newSystemThread("Thread_Test_3",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() local console = THREAD.getConsole() conn(function(a,b,c) console.print(THREAD:getName().." was triggered!",a,b,c) end) multi:newAlarm(4):OnRing(function() console.print("Fire 3!!!") conn:Fire(7,8,9) end) multi:mainloop() end) end) multi:newSystemThread("Thread_Test_4",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() local conn2 = multi:newConnection() local console = THREAD.getConsole() multi:newAlarm(2):OnRing(function() conn2:Fire() end) multi:newThread(function() console.print("Conn Test!") thread.hold(conn + conn2) console.print("It held!") end) multi:mainloop() end) multi:mainloop()