|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
Делаю серверное приложение, в нем такой метод Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
Сделал клиентское приложение которое вайлом делает конекты на сервер, через некоторое время выскакивает сообщение об ошибке на сервере авторSystem.OutOfMemoryException: Выдано исключение типа "System.OutOfMemoryException". в System.Threading.Thread.StartInternal(IPrincipal principal, StackCrawlMark& stackMark) в System.Threading.Thread.Start() в BM_Server.NetworkSocket.<ServerListener>b__0() в C:\Projects\C#\Server\Network\NetworkSocket.cs:строка 152 2453 Почему выскакивает это сообщение? в диспетчере задач сервер жрет всего 45 мегабайт. И как это исправить, и что в моем случае посоветуете почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 01:35 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
причем на разных компьютерах ошибка в одной и той же строке, хотя при каждом покдлючении вызывается по два потока... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 01:38 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
тьфу ты, сам в своем коде запутался, конечно же при входящих подключениях создается 1 поток (ну это итак видно) выдерживает только 2453 одновременно подключенных клиентов, но как быть если нужно больше? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 04:09 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
Любитель .NET технологийтьфу ты, сам в своем коде запутался, конечно же при входящих подключениях создается 1 поток (ну это итак видно) выдерживает только 2453 одновременно подключенных клиентов, но как быть если нужно больше? Не создавать отдельный поток на каждого клиента. Использовать event-driven programming, очереди и конечные автоматы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 05:14 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
Любитель .NET технологий, А Вам действительно надо одновременно 2500 запросов обрабатывать? Дело в том, что System.Threading.Thread всего лишь обёртка над потоком ОС, который при создании выделяет память под собственный стек. В принципе размером стека можно манипулировать. System.Threading.Thread.ctor . Хотя настоятельно не рекомендуется это делать. В любом случае, рекомендую посмотреть на следующие вещи. WCF Messaging Spring.Messaging и Spring.Messaging.EMS SEDA ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 13:19 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 15:20 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
если кому интересно http://www.microsoft.com/Rus/Msdn/Magazine/2005/08/Winsock.mspx ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2009, 17:29 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
Возможно дело в виртуальной памяти, кэше. Почистить %temp% ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2015, 16:30 |
|
Thread.Start() и OutOfMemoryException
|
|||
---|---|---|---|
#18+
Kuzma Kuvardin, за 6 лет наверное почистил уже ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2015, 16:44 |
|
|
start [/forum/topic.php?fid=20&msg=38919927&tid=1401742]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 143ms |
0 / 0 |