Форум программистов, компьютерный форум CyberForum.ru

Уменьшить нагрузку потока - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прошу составить схему в решении программы на С++ http://www.cyberforum.ru/cpp-beginners/thread601699.html
Напишите программу вычисления интеграла f(x)=5x<< x в квадрате-x+2 методом прямоугольников
C++ как освободить только первый элемент массива, не трогая остальные? Есть код: int *ptr; ptr = (int*)calloc(10, sizeof(int)); собственно вопрос: как освободить только первый элемент массива? не трогая остальные http://www.cyberforum.ru/cpp-beginners/thread601647.html
C++ Используя поиск в ширину в графе выделить связаные копоненты неориентированного графа
Вот поиск в ширину кратчайшего рсстояния. А как его переделать что бы выделяло компоненты неориентированного графа. Вообще незнаю как помогите пожалуйста. //--------------------------------------------------------------------------- #pragma hdrstop #include <vector> #include <stdio.h> #include <queue> #include <iostream>...
C++ Описать структуру с именем AEROFLOT
Описать структуру с именем AEROFLOT , содержащую следующие поля: * название пункта назначения рейса; * номер рейса; * тип самолета; Написать программу, выполняющую следующие действия: * ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения; * вывод на экран пунктов назначения и...
C++ Задача на файлы http://www.cyberforum.ru/cpp-beginners/thread601625.html
1. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно — действительное (вес в кило-граммах). Найти багаж, средний вес одной вещи в котором отличается не более чем на 0,3 кг от общего...
C++ Численно убедится есть ли заданная функция парной или непарной Численно убедится есть ли заданная функция y = f (x) парной или непарной на заданном отрезке . Высчитать ошибку вычисления и возможные точки разрыва функции. Проверить, например для функций y = x^4, y = tg x, y = e^x выполняя их вычисления на отрезке с шагом 0.1 ( парность - это четность ) Пожалуйста помогите с задачей я в тупике=( bool pair = true; for (double x=0; x<5; x += 0.1) if... подробнее

Показать сообщение отдельно
DrobyshevAlex
1169 / 1119 / 16
Регистрация: 31.05.2012
Сообщений: 3,059
09.06.2012, 23:30  [ТС]     Уменьшить нагрузку потока
поправка, виснит именно на функции передачи файла на сервер При скачки нагрузка 2-3 процента.

То есть там пока идёт передача, выполнятеся в функции
C++
1
2
3
4
if (isConnected())
    {
        return false;
    }
а другой поток, где сами сокеты опрашиваются, пишет в файл
C++
1
2
3
4
5
6
7
void DataSession::appendData(char* b, int len)
{
    //Log->Print(LOG_DEBUG, "DataSession::appendData");
    fwrite(b, 1,len, fp);
    file_hash.update(b, len);
    file_size += len;
}
Получается что когда весь файл будет передан, произойдёт дисконнект, и тогда поток этот выполнит действия (закроет файл, сохранит данный в бд) и завершится. А поки идёт приём файла, он просто грузит систему...

Добавлено через 1 минуту
Цитата Сообщение от Ksan Посмотреть сообщение
можно раз в цикл Sleep(1);
Ну циклов всего 4, если каждый раз по секунде спать, то при 40 подключенных клиентах по фтп, по 10 клиентов на поток, клиент будет обрабатывать раз в 10 секунд
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru