|
|
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Короче есть код который обращается к этажным комутаторам для считывания из них логов: Код: plaintext 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. Код: plaintext как сделать так,чтобы если комутатор не отвечает например 2 минуты,программа пропустила его опрос и перешла к опросу следующего комутатора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 11:18:59 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Признаюсь текст читал не очень внимательно, но на вопрос ответить можно так: для считывания информации с каждого объекта, pfgecrfqnt отдельный поток. Все потоки находятся в списке (пул). И еще один поток должен периодически просматривать весь пул, находить зависшие потоки и "убивать" их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 12:24:33 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 12:39:34 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Kachalov Код: plaintext юзаю Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:03:48 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Соглашусь с MBasil, похоже без "контрольного потока" не обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:27:05 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
MBasilПризнаюсь текст читал не очень внимательно, но на вопрос ответить можно так: для считывания информации с каждого объекта, pfgecrfqnt отдельный поток. Все потоки находятся в списке (пул). И еще один поток должен периодически просматривать весь пул, находить зависшие потоки и "убивать" их. подробнее можна пожалуйста, как пул создать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:35:48 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Ну короче потоки я создам, типа: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 13:49:07 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
У потока заведите поля с датой запуска и флагом что команда которую Вы шлете по SSH прошла. Ссылки на создаваемые потоки помещайте в массив. Создайте отдельный контрольный поток, который с некоторым таймаутом проходится в бесконечном цикле по массиву с ссылкам на "подконтрольные" потоки и проверяйте дату создания подконтрольного потока и флаг состояния, если разница текущей даты и даты создания более 2 мин и флаг говорит что команда еще не прошла, этот подконтрольный поток убивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 14:18:02 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
я вот не могу одну вещь понять,есть цикл: Код: plaintext 1. 2. 3. 4. 5. в классе ThreadSwitch идет запуск команды, вопрос: если эта команда будет долго "думать", то я не выйду из for пока не закончится её выполнение , я тогда не вижу смысла в потоках, поясните чё я еще не догнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 17:17:45 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
Очевидно вы с тредами вообще не знакомы. А стоило бы изучить, вещь важная. Метод run() будет выполнятся в отдельном потоке, т.е. ничего не зависнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 17:36:26 |
|
||
|
Как правильно сделать
|
|||
|---|---|---|---|
|
#18+
А еще для 1.5 можно воспользоваться пакетом java.util.concurrent, простенький пример: Код: plaintext 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 18:56:36 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34119383&tid=2147532]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
208ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 500ms |

| 0 / 0 |
