проблема с завершением потоков в ресурсе



  • Добрый день. Возникла небольшая проблема при работе с ресурсом.
    Поток берёт строку из ресурса и работает с ней. В случае если свободной строки для этого потока нет, то поток/скрипт завершается.
    Как можно заранее узнать, что в ресурсе все строки на данный момент заняты другими потоками?
    Была идея вбить в ресурс лишние спец. строки, что бы ресурс был всегда доступен для каждого потока, но это плохо подходит, может тормозить работу проекта.



  • @bag162 said in проблема с завершением потоков в ресурсе:

    Добрый день. Возникла небольшая проблема при работе с ресурсом.
    Поток берёт строку из ресурса и работает с ней. В случае если свободной строки для этого потока нет, то поток/скрипт завершается.
    Как можно заранее узнать, что в ресурсе все строки на данный момент заняты другими потоками?
    Была идея вбить в ресурс лишние спец. строки, что бы ресурс был всегда доступен для каждого потока, но это плохо подходит, может тормозить работу проекта.

    Просто в ресурсе больше успехов и неудач поставь. В том разделе есть вроде отдельное действие количество элементов. Давно с ресурсами не работал, только с базой данных mycql шас. Ресурсы это прошлый век.



  • @fastspace Кол во элементов проверят не кол-во свободных от использования элементов, а общее кол во элементов в ресурсе, вне зависимости используется тот или иной элемент или нет.
    Что даст увеличение успехов или неудач? Завершается поток же от недостающего элемента в ресурсе. Поставить одновременно использование больше 2-ух я не могу.



  • @bag162 said in проблема с завершением потоков в ресурсе:

    @fastspace Кол во элементов проверят не кол-во свободных от использования элементов, а общее кол во элементов в ресурсе, вне зависимости используется тот или иной элемент или нет.
    Что даст увеличение успехов или неудач? Завершается поток же от недостающего элемента в ресурсе. Поставить одновременно использование больше 2-ух я не могу.

    Тогда чисти после использования ресурсы и тем действием узнаешь сколько реально осталось.



  • @fastspace Как понять "чисти ресурсы"? Что по твоему должны делать остальные потоки?



  • @bag162 said in проблема с завершением потоков в ресурсе:

    @fastspace Как понять "чисти ресурсы"? Что по твоему должны делать остальные потоки?

    Галка поставь удалять ресурс после использования. Если ресурсов нет, то потоки наверно должны ждать этот ресурс.



  • @fastspace Имеешь в виду "Запись"? Это не подходит.
    Каждый элемент из ресурса должен быть использован несколько раз.
    У каждого элемента разное кол-во использований.



  • @bag162 said in проблема с завершением потоков в ресурсе:

    @fastspace Имеешь в виду "Запись"? Это не подходит.
    Каждый элемент из ресурса должен быть использован несколько раз.
    У каждого элемента разное кол-во использований.

    Использовал несколько раз - удалил. Далее считаешь сколько у тебя потоков и сколько осталось ресурсов. 20 потоков - 50 ресурсов. Зашел добавил еще. Сверху еще проверку делаешь, если осталось критически мало 30, то потоки будут ждать ресурс (на меньше 20 уже стопнеться поток или скрипт)


Log in to reply
 

  • 6
  • 42
  • 8
  • 49
  • 7
  • 7
  • 18
  • 12