Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
cathrin241
3 / 3 / 0
Регистрация: 24.04.2011
Сообщений: 84
#1

Аргументы для семафоров

20.11.2011, 16:18. Просмотров 1522. Ответов 10
Метки нет (Все метки)

у меня есть две нити,которые передают разные значения в метод.
в этом методе надо использовать семафор,так,чтобы эти нити выполнялись поочередно.сначала полностью первая,и только потом полностью вторая.

какие аргументы передавать семафору?

sem = new Semaphore(?,?);
всё испробовала,но нити переплетаются и выполняются не так как надо

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 16:18
Ответы с готовыми решениями:

Аргументы для метода WriteTo из LINQ to XML
Добрый день! Подскажите пожалуйста.Нужно записать вместо "..." - новый...

Неверные аргументы для String.Join на .Net 3.5
Ошибка: Наиболее подходящий перегруженный метод для "string.Join(string,...

Использование alglib для решения СЛАУ: Недопустимые аргументы в функции
В программе необходимо решить слу, решил воспользоваться alglib но не пойму...

Ошибка: аргументы типа для метода не могут определиться по использованию
...{... var CuttedList = new List<Array>(); double array =...

Аргументы метода
Господа, помогите, изучаю шилдта и наткнулся на несколько оченб странных...

10
kolorotur
Эксперт .NET
10005 / 8403 / 2062
Регистрация: 17.09.2011
Сообщений: 14,466
20.11.2011, 18:18 #2
Порядок очередности обязателен? Если сначала вторая, а потом первая - это плохо?
0
cathrin241
3 / 3 / 0
Регистрация: 24.04.2011
Сообщений: 84
20.11.2011, 18:54  [ТС] #3
нет,думаю так тоже сойдет.
просто нити у меня в форе..обе.
тоесть дожно быть например так: 0,1,2,3.....
и далее опять 0,1,2,3..

а выводит в рандомном порядке : 0,3,3,2,1,2 и тд
0
m0nax
1201 / 906 / 109
Регистрация: 12.01.2010
Сообщений: 1,891
Завершенные тесты: 3
20.11.2011, 19:51 #4
какой смысл во втором потоке(нити по твоему) если выполнение должно быть последовательным?
подумай об этом какнить на досуге...
0
kolorotur
Эксперт .NET
10005 / 8403 / 2062
Регистрация: 17.09.2011
Сообщений: 14,466
20.11.2011, 23:48 #5
cathrin241, можете подробнее описать вашу задачу? Мне кажется, семафор здесь не совсем то, что нужно, так как он просто допускает определенное количество потоков к общему ресурсу.
0
cathrin241
3 / 3 / 0
Регистрация: 24.04.2011
Сообщений: 84
22.11.2011, 16:13  [ТС] #6
у меня задание такое.по лабе.синхронизировать нити через семафоры.через Lock и тп я сделала,а с семафорами трабла возникла.
использовать нужно как минимум две нити.их значение одинаковое(я взяла массив значений,который высчитывается по определенной формуле),потому что это уже суть другого задания,так нужно.(считать разные нити разными способами,но по одной формуле, и на выходе доказать тем самым что они одинаковые)
m0nax,спешл для вас
0
kolorotur
Эксперт .NET
10005 / 8403 / 2062
Регистрация: 17.09.2011
Сообщений: 14,466
22.11.2011, 18:18 #7
Подытожу: вам надо, чтобы в двух потоках выполнялись определенные вычисления над элементами массива и чтобы каждый поток после окончания вычислений над своим элементом ждал другой поток, и только потом переходил к вычислению следующего элемента.
Правильно понял?
0
cathrin241
3 / 3 / 0
Регистрация: 24.04.2011
Сообщений: 84
22.11.2011, 21:41  [ТС] #8
нет,сначала в первом потоке должны произвестись все вычисения,а только потом во втором(ну или наоброт,не суть,потому что они у меня одинаковые)
я не понимаю,прочитала что первый аргумент это сколько может входить потоков одновременно,а второй-максимальное значение.как то так...
0
kolorotur
Эксперт .NET
10005 / 8403 / 2062
Регистрация: 17.09.2011
Сообщений: 14,466
22.11.2011, 21:48 #9
Ну, честно сказать, в таком случае здесь действительно потоки ни к чему.
Но раз такое задание..

Первый аргумент - сколько потоков может начать работу сразу, второй аргумент - максимальное количество одновременных обращений.
В вашем случае аргументы должны быть 1 и 1.
1
cathrin241
3 / 3 / 0
Регистрация: 24.04.2011
Сообщений: 84
22.11.2011, 22:00  [ТС] #10
пробовала,ошибка вылетала)
спасибо,я уже немного подругому организовала)
0
kolorotur
Эксперт .NET
10005 / 8403 / 2062
Регистрация: 17.09.2011
Сообщений: 14,466
22.11.2011, 22:01 #11
Что за ошибка?
0
22.11.2011, 22:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 22:01

Передать аргументы в событие
Сабж, что надо передавать там где в коде вопросительные знаки? private void...

Консольное приложение принимает аргументы /a /b /c
Извините за ламерский вопрос, меня мучает один вопрос если Я пишу приложение...

Main() и аргументы командной строки
Создадим консольное приложение using System; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru