Re[9]: проверь просто пустой цикл
От: .erax  
Дата: 09.11.04 14:55
Оценка:
Здравствуйте, ssm, Вы писали:


ssm>да погоди, не надо тока пока кричать, я думаю, что проблема в каком-то из методов

ssm>mtserverClass->Send(...);
Проверено когда отключал очередь вообще. Т.е. recv и сразу send. Здесь все нормально.

ssm>mtserverClass->OnReceive(...);

просто заглушка в ней ничего нет, сделана для интерфйса с наследующим классом.

ssm>safe_delete(...);

макрос if(...) {detete ...; ...=NULL}

... эта штука ядро не грузит вообще (по крайней мере в диспетчере задач визуально не заметно, проц в целом — да на все 100%).

void CPULoadThread()
{
    int *i;
    while(1)
    {
        i = new int[10240];
        memset(i, 0, 10240);

        for(int j=0; j < 10240; j++)
        {
            i[j] = rand();
        }

        int summ = 0;
        
        for(j = 0; j < 10240; j++)
            summ+=i[j];

        double mul = 0.0;

        for(j = 1024; j > 0; j--)
            mul*=double(i[j]);

        int rndsumm = 0;

        j=10240;
        while(j--)
        {
            rndsumm+=i[rand()%10240];
        }
        delete[] i;
    }
}

и гденибудь по кнопочке сделай так...

HANDLE m_cpu_load_thead = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)CPULoadThread, NULL, 0, NULL);
CloseHandle(m_cpu_load_thead);




ssm>бери на вооружение метод научного коментирования и сообщи результаты.


... остались операции по работе с очередью.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.