Да надо нагенерировать определенное кол-во профилей, для этого надо запускать шаблон постоянно для генерации нового профиля.а в чем проблема?
опиши логику шаба подробнее
При много потоке проблемы будут если ты про обычные экшены.если не знаешь как сделать или трудно, самый простой выход положить в список цифры, каждый поток берёт рандомно или первую с удалением и ложит в список гуд если отработал, какие тут трудности ?
Искал, но не нашел ничего подходящего.это я к тому сказал если лень по форуму искать или в гугле, то вот так делай
да ладно, ты мне не придумывай сказки, все хотят одну строку, ты для начала тогда свой шаб выложи, покажи свои труды что сделалПри много потоке проблемы будут если ты про обычные экшены.
Искал, но не нашел ничего подходящего.
держи тогда ответКто тебе про это сказал?
Очень так хочешь увидеть? Прям очень-очень? ) Ну, скрин покажу... Держи!
Посмотреть вложение 35482
эм...Да надо нагенерировать определенное кол-во профилей, для этого надо запускать шаблон постоянно для генерации нового профиля.
Так то да, но мне надо тупо по счетчику работать.эм...
а зачем конфиг вообще нужен, если запускается только новые профили?
вместо конфиг файла, для такого шаба, советую сделать таблицу, где в нужном столбике в значении "статус" будешь прописывать статус профиля
типа
done
create
bad ну и тп
Едрить скрин, а что качества получше в магазине не было? не завезли?Ну, скрин покажу... Держи!
Посмотреть вложение 35482
ну тогда логика такаяно мне надо тупо по счетчику работать
Именно, в точку!Но из за того что опыта у тебя поболее моего должно быть, я походу чего то не понимаю и написал хуйню
Тут будет чехорда в много потоке. Надо весь процесс лочить - получение, увеличение, запись.после создания профиля (удачного) берем значение из конфига, прибавляем 1, полученное значение записываем обратно в конфик
По этому и задал в этом разделе вопрос.это на шарпе надо делать
ааа сорян, даже не обратил внимание на это...По этому и задал в этом разделе вопрос.
ну ты же шаришь в шарпе и локах, ну тебе конкретный вопрос задали, помоги человеку с локом...а зачем лок делать ? ну и пусть пишит в разноброс, на последнем потоке который просто будет завершать сделать по убыванию или по возрастанию. зачем лишний лок, лок хоть и работает миллисенду но тоже считай что тормоз потоку, меньше локов используйте, держи в памяти, а потом за раз в файл кидай что бы не обращаться к диску милион раз
мне ответили на моё скрином, я ему дал ответ, что ещё надо от меня ?ну ты же шаришь в шарпе и локах, ну тебе конкретный вопрос задали, помоги человеку с локом...
Да, так да
Нет, так нет
нахуя разглогольствовать? не понимаю
Бывает... )))ааа сорян, даже не обратил внимание на это...
lock(SyncObject) {
// Получаем ID последнего аккаунта.
project.Variables["USER_LAST_ACCOUNT_USED"].Value = ZennoPoster.Db.ExecuteQuery("SELECT `id` FROM `activity`", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=" + project.Variables["DB_HOST"].Value + "; user id=" + project.Variables["DB_USER_NAME"].Value + "; password=" + project.Variables["DB_USER_PASSWORD"].Value + "; database=my_db", " ", "\r\n");
// Увеличиваем счетчик
project.Variables["USER_LAST_ACCOUNT_USED"].Value = Convert.ToString(Convert.ToInt32(project.Variables["USER_LAST_ACCOUNT_USED"].Value)+1);
// Записываем ID аккаунта в БД.
project.Variables["TMP"].Value = ZennoPoster.Db.ExecuteNonQuery("UPDATE activity SET `id` = " + project.Variables["USER_LAST_ACCOUNT_USED"].Value + ";", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, "server=" + project.Variables["DB_HOST"].Value + "; user id=" + project.Variables["DB_USER_NAME"].Value + "; password=" + project.Variables["DB_USER_PASSWORD"].Value + "; database=my_db").ToString();
}
Столько тут было наср... нафлужено, что видимо случайно зацепил.Хез зачем удалили и мой пост
lock(SyncObject) {
string path = project.Directory + "\\fails.txt";
int intcount = Convert.ToInt32(File.ReadAllText(path)) + 1;
File.WriteAllText(path, intcount.ToString());}
Надо тестировать и наблюдать, но по любому, по крайне мере каждый поток будет брать свое. Вопрос только в очереди этих ожидающих потоков и параллельно работающих шаблонов.Тоже мучался с решением, а ответа так и нет. Если обернуть lock(SyncObject) сумматор счетчика, то это действительно поможет от ошибок в многопотоке?