у меня большое изменение, очень хорошее, случилось когда я создал диск(прогой imdisk) из оперативной памяти и стал временные профили записывать на этот диск. во первых размер профилей уменьшился в 20 раз с 55 до 2 мегабайт, во вторых работает теперь быстрее, и в третьих со временем cpu не забивается непонятно чем. попробуй, может тебе поможет. я об этом написал где-то, и не понял до конца будут там что-то проверять\менять у баса или нет. второй варик(который я не пробовал) создать RAM диск не только для профилей, а для всего баса, чтоб он в нем и крутился - но мне пока необходимости не было, ты если попробуешь расскажи нам что получилось
Как разделить потоки? - if thread = 1 не работает
-
Заметил, что в функциях, запущенных в несколько потоков номера потоков всегда разные и зависят от скорости вызвавших их потоков. Т.е. этот скрипт с паузами и без выдает разные номера потоков:

Вопрос: Как в таком случае разделить потоки в функции tripleFunc, когда номер потока может быть любой?
-
@simpleuser , в тройной функции у меня планировалось 3 разных запроса в отдельном потоке каждый. Такое нельзя реализовать в БАСе? Если бы БАС считал потоки в каждой функции всегда с единицы, то это можно было бы реализовать. А так даже не знаю что придумать.
-
Держи:

Потоки будут запускаться по очереди и никаких багов не будет с THEARD_INDEX.
Создай только две глобальные переменные в функции OnApplicationStart так:

Глобальная переменная Lock2 - из ресурса (это сколько всего потоков запускаешь)Неделю провозился, чтобы довести до идеала в мае. Делюсь бесплатно :D
-
@fastspace действие спать не может быть меньше секунды. Хоть 10 пиши туда) Все равно будет спать секунду.
-
@simpleuser Пусть спит секунду, главное работает.
-
@fastspace said in Как разделить потоки? - if thread = 1 не работает:
Держи:
Спасибо. Только я что-то не пойму как это поможет разделить эти потоки и делать в каждом из них разные действия:
