digitalmars.D.learn - Using Parallel prints duplicates nor misses.
- Vino.B (35/35) Sep 17 2017 Hi,
Hi, Request your help, the below code sometime prints duplicate and some time miss the entry. due to which any code written below the line "foreach (d; parallel(dFiles[], 1))" are some time duplicated and some time not executed(skips). tired adding sort and uniq to the writeln but no luck. Code: import std.algorithm: filter, map, sort, uniq; import std.container; import std.file: SpanMode, dirEntries, isDir; import std.stdio: writeln; import std.parallelism: parallel; void main () { auto SizeDirlst = Array!string ("C:\\Temp\\TEAM\\BACKUP", "C:\\Temp\\TEAM\\EXPORT"); foreach (FFs; SizeDirlst[]) { auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name)); foreach (d; parallel(dFiles[], 1)) { writeln(d); } } } Output 1: C:\Temp\TEAM\BACKUP\dir1 C:\Temp\TEAM\BACKUP\DND3 C:\Temp\TEAM\BACKUP\dir2 - Duplicate C:\Temp\TEAM\BACKUP\dir2 - Duplicate C:\Temp\TEAM\EXPORT\DND6 Output 2: C:\Temp\TEAM\BACKUP\dir1 C:\Temp\TEAM\BACKUP\DND3 C:\Temp\TEAM\BACKUP\dir2 - Duplicate C:\Temp\TEAM\BACKUP\dir2 - Duplicate C:\Temp\TEAM\EXPORT\DND6 - Missing From, Vino.B
Sep 17 2017