LINQ שעובד עם טרידים
-
שלום לכולם
יש לי LINQ שאני מפעיל על כמות של איברים במערך, מה שהוא עושה זה לעבור על כל איבר ולהפעיל איזה שהוא פרוסס חיצוני על אותו איבר, חשוב לי אמנם שהקוד לא יתקדם עד שכל הפרוססים שצריכים לעבור על כל האיברים יסיימו את פעולתם, אולם לא חשוב לי כלל בתוך המערכך עצמו, שאיבר 2 ימתין לסיום של הפרוסס שמטפל באיבר 1, כלומר מבחינתי אין בעיה שייפתחו עשרים טרידים במערכת ההפעלה, וכשכולם יסתיימו, אני ממשיך עם הקוד. איך אני עושה את זה??פורסם במקור בפורום CODE613 ב08/02/2015 13:53 (+02:00)
-
PLINQ = Parallel LINQ.
[u:1fzvvf38]עריכה:[/u:1fzvvf38]
soft צודק, המתודה המתאימה זה Parallel.ForEach. המתודה ForAll עשויה למקרה בו יש כבר אוסף של PLINQ.ככה:
var arr = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9}; Parallel.ForEach(arr, i => Console.WriteLine(i));
פורסם במקור בפורום CODE613 ב08/02/2015 15:27 (+02:00)