Каковы различия между различными опциями синхронизации поточной обработки в C#?

использует функцию dataframe фильтра (), комбинируя оператор and ().

пример

var days = df1.collectAsList
import spark.implicits._

val d1 = df2.filter($"Days".equalTo(days.get(0).getString(0)))
val d2 = df2.filter($"Days".equalTo(days.get(0).getString(0))
.and($"Days".equalTo(days.get(1).getString(0))))
val d3 = df2.filter($"Days".equalTo(days.get(0).getString(0))
.and($"Days".equalTo(days.get(1).getString(0)))
.and($"Days".equalTo(days.get(2).getString(0)))
)
158
задан Jay Bazuzi 19 November 2008 в 06:30
поделиться

2 ответа

Дополнительный протест для того, чтобы соединить любое общее Взаимное исключение, которое Вы отождествили с идентификатором строки, состоит в том, что оно примет значение по умолчанию к "Локальный \" взаимное исключение и не будет совместно использовано через сессии в среде терминального сервера.

Снабдите префиксом свой идентификатор строки "Глобальный \", чтобы гарантировать, что доступом к общим системным ресурсам правильно управляют. Я просто сталкивался с целой "кучей" проблем, синхронизирующих связь с сервисом, работающим в соответствии с СИСТЕМНОЙ учетной записью, прежде чем я понял это.

9
ответ дан 23 November 2019 в 21:41
поделиться

Я бы попытался избежать "lock ()", "Mutex" и "Monitor", если вы можете ...

Ознакомьтесь с новым пространством имен System.Collections.Concurrent в .NET 4
В нем есть несколько хороших поточно-безопасных классов коллекций

http://msdn.microsoft.com/en-us/library/system.collections.concurrent.aspx

ConcurrentDictionary потрясающе! у меня больше нет ручной блокировки!

5
ответ дан 23 November 2019 в 21:41
поделиться
Другие вопросы по тегам:

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