|
|
|
Единоразовый вызов функции
|
|||
|---|---|---|---|
|
#18+
Задача: стартует много потоков. Первый поток должен вызвать функцию авторизации. Пока эта функция не вызвана, остальные потоки не имеют права работать. Если функция выбросила исключение, то текущий поток завершается, а остальные пытаются вызвать ее еще раз. Синхронизацию реализовал на Interlocked-функции. Посмотрите, свежим взглядом на предмет ошибок Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 20:31 |
|
||
|
Единоразовый вызов функции
|
|||
|---|---|---|---|
|
#18+
Вопрос снят. Т.к. Нужна еще процедура Логаута по принципу "последний закрывает дверь", а новые потоки могут стартовать в любое время, то без глобальной критической секции я решения не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2018, 20:52 |
|
||
|
Единоразовый вызов функции
|
|||
|---|---|---|---|
|
#18+
семафоры не подходят? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 11:55 |
|
||
|
Единоразовый вызов функции
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийсемафоры не подходят?Хотелось разрулить все Interlocked функциями. Не разрулилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 14:48 |
|
||
|
Единоразовый вызов функции
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Если функция выбросила исключение, то текущий поток завершается, а остальные пытаются вызвать ее еще раз. Эту постановку можно написать иначе: "В случае сетевых проблем несколько случайно выбранных потоков завершаются, остальные работают". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39726619&tid=2040182]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 522ms |

| 0 / 0 |
