Running route.GenerateInstructions() in parallel throws an exception
var routerDb = RouterDb.Deserialize(File.OpenRead(routerFile));
var router = new Router(routerDb);
Parallel.ForEach(Enumerable.Range(0, nbOfRuns), (x) =>
{
route = router.Calculate(Vehicle.Car.Fastest(), fromCoord, toCoord));
route.GenerateInstructions();
});
Ex: Cannot enter the same MoonSharp processor from two different threads : 1 and 7
at Itinero.Profiles.Lua.Execution.VM.Processor.EnterProcessor() in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Profiles\Lua\Execution\VM\Processor\Processor.cs:line 149
at Itinero.Profiles.Lua.Execution.VM.Processor.Call(DynValue function, DynValue[] args) in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Profiles\Lua\Execution\VM\Processor\Processor.cs:line 56
at Itinero.Navigation.Instructions.DynamicUnimodalInstructionGenerator.<>c__DisplayClass4_0.<BuildTryGetDelegate>b__0(RoutePosition position, ILanguageReference language, Instruction& instruction) in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Navigation\Instructions\DynamicUnimodalInstructionGenerator.cs:line 132
at Itinero.Navigation.Instructions.UnimodalInstructionGenerator.DoRun() in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Navigation\Instructions\UnimodalInstructionGenerator.cs:line 78
at Itinero.Algorithms.AlgorithmBase.Run() in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Algorithms\AlgorithmBase.cs:line 89
at Itinero.Navigation.Instructions.DynamicUnimodalInstructionGenerator.Generate(Route route, ILanguageReference languageReference) in D:\_gitlab\GitHub\itinero-routing\src\Itinero\Navigation\Instructions\DynamicUnimodalInstructionGenerator.cs:line 348
at Sample.Basic.Ales.<>c__DisplayClass0_0.<Main>b__2(Int32 x) in D:\_gitlab\GitHub\itinero-routing\samples\Sample.Basic\Ales.cs:line 130
at System.Threading.Tasks.Parallel.<>c__DisplayClass42_0`2.<PartitionerForEachWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
Running route.GenerateInstructions() in parallel throws an exception