|
|
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Если я ничего не путаю, стандартный System.Threading был основан на OmniThreadLibrary (OTL) Так вот в OTL есть примитив Pipeline (конвейер) Мне интересно, есть ли в стандартной библиотеке какой-либо аналог? И ещё по конвейеру есть вопрос. Можно ли как-то настраивать приоритизацию потоков? Например, у меня простенькая задача. На первом шаге иерархично просматриваем директории, если файл удовлетворяет нашему требованию - кидаем его в output На втором шаге обрабатываем найденный файл Так вот есть у нас пул потоков. Нет смысла занимать эти потоки первой задачей, когда есть файлы на обработку. Иначе первая задача может бесконечно раздуть output, пока вторая задача обрабатывается неспеша Аналогично, если шагов в конвейере несколько - нет смысла тратить потоки на первые шаги, в то время как существуют необработанные шаги в конце конвейера. Пара вопросов вдогонку: - как, находясь в обработчике шага (TProc), выяснить, не находится ли конвейер в состоянии отмены (завершения)? - правильно ли я понимаю, что первый шаг стартует в одном потоке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 15:30:17 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Док, Это вообще разные вещи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 18:22:08 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
TThreadPool+ TTask + TQueue<T> должны помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 18:35:17 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
rgreat, TQueue<T> не lock-free А как ты распределишь количества и приоритеты потоков на одну задачу? И как ты завершишь весь конвейер одним действием? Я имел ввиду какое-то удобоваримое стандартное решение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 19:45:46 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Еще один пытается устроиться в известную контору)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 19:49:36 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
asviridenkovЕще один пытается устроиться в известную контору))Давно пора прикрепить ветку "ауслоджикс-тест" :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 21:10:04 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
asviridenkov, Квейд, В 2015 я проработал в Auslogic-е 5 дней :) Мне даже оплатили это время :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 21:27:51 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU> В 2015 я проработал в Auslogic-е 5 дней :) А чего ушёл? По-моему вы просто созданы друг для друга... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 21:32:22 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Не сработались. Им не понравилось качество моего кода. Тимлид, например, не понял, почему я для текстового файла делаю сравнение S[i] <= #32, а не S[i] = ' ' Меня не устроило, что задача поставлена не конкретно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 21:38:15 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU> Тимлид, например А у них тимлид местный был или из Китая (или где у них там головной офис разработки)? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 23:46:43 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Да хз. Вроде Австралия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 09:57:24 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
asviridenkovЕще один пытается устроиться в известную контору)) https://www.auslogics.com/ru/ - так это всё на делфях писано? Ёкарный бабай, спасибо, что предупредили! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 10:23:53 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
под ванasviridenkovЕще один пытается устроиться в известную контору)) https://www.auslogics.com/ru/ - так это всё на делфях писано? Ёкарный бабай, спасибо, что предупредили!Какая разница, на чем написаны программы "для ускорения работы компьютера". Запускать-то их по меньшей мере бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 10:30:10 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
YuRock, неужто и дефрагментацию диска запускать бессмысленно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 11:13:59 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
jmp_originalYuRock, неужто и дефрагментацию диска запускать бессмысленно? Оп-па, менты! А ты все еще Win95 используешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 11:38:32 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
jmp_original, На SSD - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 11:38:35 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
Давайте не про Delphi и не про Auslogics :) Давайте про потоки и конвейер :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 12:08:29 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
jmp_originalYuRock, неужто и дефрагментацию диска запускать бессмысленно? Даже если и есть смысл иногда (хотя я этого не делал уже лет 10 - с появлением NTFS отпала надобность), зависит от диска, то для этого есть стандартные средства в ОС, сделанные разработчиком ФС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 15:24:29 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUДавайте не про Delphi и не про Auslogics :) Давайте про потоки и конвейер :) Так а что тут обсуждать? Примеры есть, дали тебе вроде. Я лично велосипед свой забацал бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 15:26:18 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
YuRockс появлением NTFS отпала надобность Интересно, откуда пошла эта легенда, в которую тут даже как минимум двое верят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 17:31:17 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
jmp_originalYuRockс появлением NTFS отпала надобность Интересно, откуда пошла эта легенда, в которую тут даже как минимум двое верят... Не знаю про "легенду" (насчет NTFS - действительно, диск фрагментируется гораздо меньше). Знаю, что Win7 по умолчанию самостоятельно выполнять дефрагментацию, по расписанию (в час ночи, в среду). А Win8 и новее - дефрагментация выполняется, когда система посчитает нужным... В общем, война давно закончилась, эшелоны под откос можешь больше не пускать. Впрочем, дело твое. Некоторые вон и реестр чистят, сомнительными утилитками типа ццклинер.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 18:06:05 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
jmp_originalYuRockс появлением NTFS отпала надобность Интересно, откуда пошла эта легенда, в которую тут даже как минимум двое верят... Я про себя написал. У меня отпала необходимость. Ни разу не дефрагментировал винты на NTFS на последних своих компьютерах (их штук 7 было года эдак с 2003-го). Мне это не надо просто. Если тормозов нет - зачем их придумавать? Мне не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 19:33:22 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
YuRockSOFT FOR YOUДавайте не про Delphi и не про Auslogics :) Давайте про потоки и конвейер :) Так а что тут обсуждать? Примеры есть, дали тебе вроде. Я лично велосипед свой забацал бы Я и забацал свой велосипед через свой класс потока. И создал количество потоков, равному числу ядер Но у меня задача простая. И очереди, кстати, через спинлок, а не lock-free как в OTL. В любом случае OTL штука интересная и System.Threading тоже. Хочется знать, как цивилизованно решать подобные задачи. Ты же ни на один вопрос стартового топика не ответил. А спрашиваешь, что тут обсуждать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 21:17:55 |
|
||
|
System.Threading: Конвейер
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUТы же ни на один вопрос стартового топика не ответил. А спрашиваешь, что тут обсуждать )Ну так в моей дельфе нету System.Threading (или я о ней не знаю), и OmniThreadLibrary я не видел ни разу, т.к. занят работой слишком, чтобы чьи-то изделия изучать. Так что, что ж мне обсуждать, как не дефрагментацию) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2017, 21:53:42 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39542914&tid=2041671]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
204ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 546ms |

| 0 / 0 |
