powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / static и многопоточность
16 сообщений из 16, страница 1 из 1
static и многопоточность
    #38090829
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос такой

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

При доступе к статичным свойствам и методам классов внутри нее - каша полная.
Исходников библиотеки нет.

Можно както малой кровью изолировать статичные объекты одного потока от другого в рамках одного приложения?

Многопоточность самая простая

Thread t = new Thread(Run);
t.Start();

Спасибо заранее!
...
Рейтинг: 0 / 0
static и многопоточность
    #38090834
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell...изолировать статичные объекты одного потока от другого ...
Статические объекты общие для всех потоков в пределах одного домена приложения, т.е. не существует статических свойств (методов и др.) одного потока и какого-то другого потока. Вам требуется не изоляция, а синхронизация доступа к ним.
http://msdn.microsoft.com/ru-ru/library/c5kehkcz.aspx
...
Рейтинг: 0 / 0
static и многопоточность
    #38090842
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c Lock все понятно. Нет доступа к исходникам библиотеки. По-этому и синхронизация тут невозможна...
...
Рейтинг: 0 / 0
static и многопоточность
    #38090852
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell,

А зачем Вам исходники библиотеки?! Создайте свой вспомогательный класс, который будет обеспечивать синхронный доступ к свойствам/методам сторонней библиотеки, и обращайтесь к нему, а не к библиотеке.
...
Рейтинг: 0 / 0
static и многопоточность
    #38090854
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell,

такая возможность есть, но только для своих переменных с помощью атрибута ThreadStatic. Раз проблемы возникают во внешем коде, значит единственный метод это синронизация доступа к ее методам. Создай класс-обертку и работай с внешней библиотекой только через неё. Тогда у тебя будет единая точка входа где можно будет выполнять синронизацию.
...
Рейтинг: 0 / 0
static и многопоточность
    #38090864
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,

ThreadStatic посмотрю, спасибо.
...
Рейтинг: 0 / 0
static и многопоточность
    #38090869
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswellИсходников библиотеки нет.
Можно расковырять dotpeek'ом, reflector'ом и т.д. Тогда будут исходники. :)
...
Рейтинг: 0 / 0
static и многопоточность
    #38091071
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswellМожно както малой кровью изолировать статичные
можно попробовать, если очень нужно , это некий Remouting - обернуть их в TCP, запустить эти библиотеки как разные приложения потом по TCP дёргать. метод довольно экстравагантный, но зато его можно раскидать по нескольким компам.
...
Рейтинг: 0 / 0
static и многопоточность
    #38091104
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erможно попробовать, если очень нужно , это некий Remouting - обернуть их в TCP, запустить эти библиотеки как разные приложения потом по TCP дёргать. метод довольно экстравагантный, но зато его можно раскидать по нескольким компам.
И для чего все это?! Не проще использовать вышеуказанные способы?!
...
Рейтинг: 0 / 0
static и многопоточность
    #38091119
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxИ для чего все это?! Не проще использовать вышеуказанные способы?!
для каждой задачи свои методы. этот метод прекрасен тем, что мы запросто можем выйти за рамки одной машины и паралелить до посинения. при особом желании , можно вообще купить полчаса Xeon E5650 за 30 копеек http://www.1gb.ru/price_cloud.php и туда паралелить.
каждый творит свои чудеса.
ну а оборачивать вызовы бывает тоже накладно, надо понимать что там блокировать, а вдруг там много весёлово...
...
Рейтинг: 0 / 0
static и многопоточность
    #38091230
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswellМожно както малой кровью изолировать статичные объекты одного потока от другого в рамках одного приложения?
грузить стороннюю библиотеку в разные домены для каждого потока
...
Рейтинг: 0 / 0
static и многопоточность
    #38091290
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswellc Lock все понятно. Нет доступа к исходникам библиотеки. По-этому и синхронизация тут невозможна...
Каких образом коррелирует lock с доступом к исходникам библиотеки?
...
Рейтинг: 0 / 0
static и многопоточность
    #38091742
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

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

Опять убеждаюсь, хочешь сделать хорошо - пиши сам )))
...
Рейтинг: 0 / 0
static и многопоточность
    #38091785
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилaswellМожно както малой кровью изолировать статичные объекты одного потока от другого в рамках одного приложения?
грузить стороннюю библиотеку в разные домены для каждого потока

Многообещающе! Куда бежать? Где смотреть?
...
Рейтинг: 0 / 0
static и многопоточность
    #38091842
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswell,

А что именно делает этот сторонний функционал? Ведь может случится что он даже распаралеленный упрется далее в какой либо общий ресурс. Интересно, почему он выполнен в виде именно статических методов?
...
Рейтинг: 0 / 0
static и многопоточность
    #38091875
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lexxxxxaswell,

А что именно делает этот сторонний функционал? Ведь может случится что он даже распаралеленный упрется далее в какой либо общий ресурс. Интересно, почему он выполнен в виде именно статических методов?

Crowler, паук по нашему. + htmlagilitypack.
Работа его полностью устраивает. А сбиваются там, судя по результатам. Какие-то счетчики, выполненные как статичные поля.
В filestream и базу нигде не лезет, так что, в принципе, разделяемого ничего не должно быть.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / static и многопоточность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]