Легкие библиотеки пула потоков в.NET

Как насчет использования dplyr. По сути, вы бы отсортировали столбцы для каждой строки. Не уверен, будет ли это более эффективным или нет. Очевидно, это намного больше строк.

library(dplyr)

df <- data.frame(v1,v2)

# Sort by v1 and v2 elements by row
df.new <- df %>%
  mutate(z1 = pmin(v1,v2),
         z2 = pmax(v1,v2))

# Build a distinct coding table
df.codes <- df.new %>%
  distinct(z1, z2) %>%
  mutate(v3 = 1:n())

# Join it back together
df.new %>%
  left_join(df.codes, by = c("z1", "z2")) %>%
  select(v1, v2, v3)
6
задан dr. evil 17 February 2009 в 23:34
поделиться

9 ответов

Спасибо за все ответы после прохождения через других библиотек я заметил их всех, являются вполне сверхсложными для того, что я смотрел.

Я придерживаюсь своей собственной реализации, которая является в основном блокирующейся реализацией очереди вокруг Threading.Thread() и это работает просто великолепно.

0
ответ дан 9 December 2019 в 20:49
поделиться

Если Вы имеете это много задач, рассматриваете реализацию сервисной шины или сторонней платформы промежуточного программного обеспечения как BizTalk. Если это слишком много, то Организация очередей сообщения открытым текстом.

Кроме того, если Вы имеете SQL Server и хотите, чтобы очередь более легко сохранялась и управлялась, рассмотрите Брокера SQL Server Service.

1
ответ дан 9 December 2019 в 20:49
поделиться

Скалы Retlang! Или Очереди Носорога от Ayende.

2
ответ дан 9 December 2019 в 20:49
поделиться

Почему не только используют ThreadPool.NET?

2
ответ дан 9 December 2019 в 20:49
поделиться

Проверьте CCR Microsoft. Это имеет очень эффективный пул потоков и имеет примитивы, которые делают контакт со многими oustanding асинхронными запросами ввода-вывода простым.

Под его моделью, обеспечивая Ваш ввод-вывод является действительно асинхронным, количество потоков, в которых Вы нуждались бы, будет точно количеством ядер на Вашем поле. Что-либо больше - отходы.

2
ответ дан 9 December 2019 в 20:49
поделиться

Лучшей, которую я видел недавно, является библиотека PowerThreading Jeffery Richter. Вы могли бы также хотеть проверить это видео Канала 9

Хорошая вещь о библиотеке PowerThreading состоит в том, что она делает эффективное использование ThreadPool, позволяя единственному потоку быть совместно использованной через многие запросы.

3
ответ дан 9 December 2019 в 20:49
поделиться

У меня была та же необходимость как Вы, но мой вопрос формулировался по-другому для достижения очень похожих ответов: Есть ли какой-либо путь к выполнению метода многократно, но руководящих соединений/потоков? (.NET)

1
ответ дан 9 December 2019 в 20:49
поделиться

.Net 4.0 добавляет Библиотеку Параллели Задачи, которая будет иметь прямую поддержку этого. Если Вы не знаете о нем, это доступно и как автономный CTP на основе.Net 3.5 и как часть Visual Studio 2010 CTP, который был сделан доступным прошлой осенью. Вот ссылка на блог команды, который имеет больше информации и указатель на загрузку.

1
ответ дан 9 December 2019 в 20:49
поделиться

Я нашел интересное взятие на ThreadPool этим товарищем на CodeProject. Это - инстанцированный ThreadPool (таким образом, не статичный и клочок через потоки), и это имеет несколько функций для настройки производительности.

0
ответ дан 9 December 2019 в 20:49
поделиться
Другие вопросы по тегам:

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