Вот ситуация, я пишу основу для конкурса кодовой войны.Поскольку код выполняется, для каждого хода он вызывает метод в библиотеке, предоставленной каждым участником.По правилам конкурса метод должен вернуться через 1 секунду, иначе мы убьём задачу, вызвав их.Затем мы используем результат по умолчанию для этого хода.
Метод не поддерживает отмену, поскольку мы не можем доверять вызываемому коду в ответ на отмену.И нам нужно убить поток, потому что если у нас есть 10 или 20 пропущенных фоновых задач, то все вызовы, идущие вперед, будут обеспечивать меньше тактовых циклов при каждом вызове, а методы, которые раньше занимали менее 1 секунды, теперь занимают больше.
Вкл.плюс, у метода, который мы убиваем, не должно быть открытых ресурсов и т. д., поэтому при прерывании не должно быть ничего зависшего.
Обновление: Здесь необходимо иметь в виду две вещи.Во-первых, это как игра - так важна производительность.Во-вторых, рабочий поток вряд ли будет иметь какие-либо открытые ресурсы.Если один из вызванных методов идет слишком долго, мне нужно прервать его и быстро двигаться дальше.