0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
||||||
1 | ||||||
Взаимодействие между потоками11.02.2015, 21:26. Показов 3207. Ответов 16
Метки нет (Все метки)
Мне надо чтоб 1 поток перебирал числа из файла и , которые кратны 17, передавать второму потоку, который просто накапливает эти числа и выводит их на экран. Я вот написал, объясните, там компилятор говорит что я null передаю, что я не так делаю?
0
|
11.02.2015, 21:26 | |
Ответы с готовыми решениями:
16
Взаимодействие с потоками Обмен данными между потоками Распределение информации между потоками Разделение данных между потоками (теория) |
12.02.2015, 04:31 | 2 | |||||
Наверное так.
1
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
12.02.2015, 08:11 [ТС] | 3 |
а можно без AsParallel(), я хочу простым методом, вот как я написал. Помогите пожалуйста.
Добавлено через 1 минуту Просто хочу написать самому механизм.
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
12.02.2015, 21:54 [ТС] | 5 |
Так можете помочь с моим кодом, я ж так делаю?
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
14.02.2015, 22:18 [ТС] | 6 |
Вот можете помочь в моей проге поставить второй поток на паузу и снять его?
0
|
447 / 305 / 47
Регистрация: 23.01.2013
Сообщений: 661
|
|||||||||||
14.02.2015, 22:33 | 7 | ||||||||||
Надо:
0
|
14.02.2015, 22:47 | 8 |
Вы еще не поняли? Это НЕЭФФЕКТИВНО, понимаете? В случае использования PFX библиотека берет на себя всю работу по распараллеливанию данных и их объединению перед выдачей результата. Вам же придется делать все это самому, ручками. Если у вас есть желание тратить время на изобретение велосипеда - вперед, я предпочитаю использовать то, что уже имеется и работает так как следует.
0
|
15.02.2015, 10:57 | 9 |
А я считаю, надо уметь всё это делать руками. хотя бы раз попробовать написать, чтобы работало, а в реальных проектах использовать всем знакомые фреймворки. Для саморазвития вполне можно изобретать велосипеды, иначе только и будешь уметь кнопки на форму кидать (грубо говоря).
Добавлено через 7 минут Не по теме: Всегда интересовало, почему многие любят акцентировать внимание на том, что это их делегат или их поток, метод.
1
|
Master of Orion
|
||||||
15.02.2015, 13:21 | 10 | |||||
insite2012, только наверное лучше ReadLines, а не ReadAllLines, всё-таки он все равно работает с IEnumerable<T>, смысла считывать всё в память нет.
просто потому что называть переменную также, как и тип - моветон. К примеру
0
|
15.02.2015, 13:30 | 11 |
Ну значит с фантазией беда вообще. Не знаю. Я всё равно как-то остро на это внимание обращаю. Ну прям не нравится мне этот префикс и ничего поделать не могу и не хочу . И я не один такой ))
Добавлено через 1 минуту Ну тупо это "Мой объект". Назови его так, чтобы было понятно в каких целях его используют. syncObject, например.
0
|
Master of Orion
|
|
15.02.2015, 16:08 | 12 |
Casper-SC, ну вот например есть класс MyFigure со свойством Pen для отрисовки, как его назвать? DrawingPen? Так ясен пень, что он для отрисовки (ну я надеюсь)? FigurePen? Тоже бред.
В итоге префикс хреновый, "но ничего лучше не придумано"©
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
||||||
16.02.2015, 20:30 [ТС] | 13 | |||||
Я вот не могу понять, как остановить поток и возобновить его потоку (что оптимально было), но проблема у меня еще в одном я не могу указать второму потоку функцию Thread 2, потому что она принимает переменную. Я вот придумал ссылаться на еще одну функцию, которая ссылается на нужную мне Thread 2 и я не могу понять, точно ли второй поток только с теми двумя функциями?
//using _CRT_SECURE_NO_WARNINGS;
Добавлено через 8 минут Я понял, что походу нормально, синхронизировал потоки, только очень прошу, помогите с паузой и возобновлением второго потока, как видите я там уже suspend, abort пробовал, но все они говорят, что я передаю null им. Я так понял, что это ругается сборщик мусора. Так, как он не может выбрать безопасную точку. Добавлено через 2 минуты Хотя, я думаю, что делаю через (_|_), но не могу ничего придумать лучшего
0
|
16.02.2015, 21:44 | 14 | |||||
Mansu,
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
17.02.2015, 07:50 [ТС] | 15 |
Так зачем мне время, я одним потоком считываю числа уже с файла и если число кратно 17, то он передаёт 2, а тот накапливает. Так вот второй поток я хочу ставить на паузу, а как я нашёл число, то возобновить, накопить и снова на паузу.
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
17.02.2015, 21:25 [ТС] | 17 |
Смотрите у меня в файле массив, поток thread просто считывает с файла числа и которые кратны 17, передает второму Thread 2, а тот просто накапливает, без предела, все числа кратные 17. Так вот там не очень много таких чисел и я хочу чтоб второй поток Thread 2 был на паузе, пока первый не передаст ему число, кратное 17, а потом снова его на паузу и т.д. Как это сделать?
0
|
17.02.2015, 21:25 | |
17.02.2015, 21:25 | |
Помогаю со студенческими работами здесь
17
Передача аргументов между потоками с использованием делегатов Взаимодействие между членами класса Взаимодействие между объектами в классах Потоки и взаимодействие между ними Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |