Лучший способ получить индексный доступ к очереди Python, ориентированной на многопотоковое исполнение

Я думаю, что Вы по оценке влияния упаковки/распаковывания. Метод синтаксического анализа будет иметь намного большие издержки (строковый парсинг), затмевая упаковку наверху. Также весь, если операторы окажут большее влияние. Отражение оказывает самое большое влияние всех.

я был бы не хотеть видеть этот вид кода в производстве, поскольку существует более чистый способ сделать его. Основной проблемой, которую я имею с ним, является большое количество того, если операторы, необходимо будет покрыть все случаи и то, что кто-то мог передать любой старый тип ему.

то, Что я сделал бы, записать функцию синтаксического анализа для каждого типа, который я хочу проанализировать (т.е. ParseInt ()). Это более ясно, и это четко определено, что функция попытается сделать. Также с короткими статическими методами, компилятор, более вероятно, встроит их, сохраняя вызов функции.

я думаю, что это - неработающее приложение дженериков, какой-либо конкретной причины того, чтобы сделать его этот путь?

8
задан Ram Rachum 18 August 2009 в 13:45
поделиться

1 ответ

import Queue

class IndexableQueue(Queue):
  def __getitem__(self, index):
    with self.mutex:
      return self.queue[index]

Разумеется, очень важно освободить мьютекс независимо от того, успешно ли индексация или вызывает ошибку IndexError, и я используя для этого оператор с оператором . В более старых версиях Python try / finally будет использоваться с тем же эффектом.

11
ответ дан 5 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: