Вернуться   CoderX :: Forums > Основные форумы > Курилка
Войти через OpenID

Курилка Флудим и шутим тут!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 01.04.2017, 18:10   #16
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 190
Сказал Спасибо: 4
Имеет 42 спасибок в 40 сообщенях
ScythLab пока неопределено
По умолчанию

Цитата:
Сообщение от Smwr Посмотреть сообщение
буффер будет отправлен немедленно в том же потоке, зачем постоянно перевыделять, если можно выделить один раз?
ты перехватил функцию Send, тебе нужно в ней до 64к памяти, когда ты собираешься выделить эту память? внутри функции и сохранить ссылку на память в глобальной переменной? если так, то следующей вызов функции может идти из другого потока и причем параллельно с предыдущим, в итоге крах ла2, либо дисконнект

Цитата:
Сообщение от supernewbie Посмотреть сообщение
alexov, можно изловчиться и сделать один буфер на один поток, передавая этот буфер текущему боту с которым поток работает.
в итоге если ядер скажем 4, то это всего-лишь 4 * 64K байт на буферы
ты хочешь сказать, что если у меня одноядерный проц, то я не смогу запустить на нем, скажем, 100 потоков?

здесь 2 простых решения:
1) глобальный массив массивов (можно его динамическим сделать, тогда все будет кошерно) и использовать его по кругу (даже паттерн программирования такой есть)
2) выделять память каждый раз внутри функции Send; если память гарантированно освобождать после этого и посмотреть на работу менеджера памяти, то можно увидеть, что операция очень и очень быстрая (на 100 циклов выделений/освобождения потребуется пару микросекунд, а ла2 очень редко когда пропускается хотя бы 100 пакетов/секунду)

PS. второй вариант проще, т.к. в (1) все равно придется делать некоторую синхронизацию по работе с общим буфером
__________________
Хобби: разработка бота для Lineage.

Последний раз редактировалось ScythLab, 01.04.2017 в 18:14.
ScythLab вне форума   Ответить с цитированием
За это сообщение ScythLab нажился спасибкой от:
 

  CoderX :: Forums > Основные форумы > Курилка



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:57.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!