public void CheckFriend(object id) { var friendlist = VkWebRequest.GetFriends((Int32)id); foreach (var newFriend in friendlist) { Add(newFriend, (Int32)id); } locker.WaitOne(); //threads += 1; locker.ReleaseMutex(); }
public void CheckFriend(object id) { var friendlist = VkWebRequest.GetFriends((Int32)id); foreach (var newFriend in friendlist) { Add(newFriend, (Int32)id); if (SetControl.SetControler.Intersect(newFriend, ThreadId)) { mutex.WaitOne(); if (!Intersection) { Intersection = true; intersect = newFriend; } mutex.ReleaseMutex(); return; } } }
public async void CheckFriendAsync(object id) { var friendlist = await TaskManager <List <ItemInfo> > .RunTask(() => VkWebRequest.GetFriends((Int32)id)); TaskManager <List <ItemInfo> > .ReleaseTask(); foreach (var newFriend in friendlist) { Add(newFriend, (Int32)id); if (SetControl.SetControler.Intersect(newFriend, ThreadId) || Intersection) { mutex.WaitOne(); if (!Intersection) { Intersection = true; intersect = newFriend; } mutex.ReleaseMutex(); await Task.Yield(); } } }