[Plugin] Pawn Threads v0.2
#21

Quote:
Originally Posted by romanius
View Post
вообще то mx всегда читает правельно

delay [dɪ’leɪ] - задержка
вообще-то у меня сестра дипломированный переводчик.
Reply
#22

но ты то не сестра
Reply
#23

как думаете мож еще функции прикрутить шоб при работе таймера изменять его параметры (названия калл бэка, интервал, повтор и тп)
Reply
#24

Quote:
Originally Posted by romanius
View Post
как думаете мож еще функции прикрутить шоб при работе таймера изменять его параметры (названия калл бэка, интервал, повтор и тп)
Я вообще свои собственные колбеки вызываю, ты как их менять будешь, да и накой это надо?
а интервал, как уже писали, добавь задержку и все.
повтор, смысл, одиночный таймер все равно будет использоваться как одиночный, а постоянный, если он не нужен он просто убъется, а делать из него оиночный, тоже самое что убить его на один запуск позже.
Reply
#25

ну а если при возвращении в колбеке 0 то поток уничтожается а если 1 то работает дальше?
Reply
#26

Это уже бред, я вообще в некоторых самопальных колбеках ничего не возвращаю, например в стримере иконок и машин, просто не нужно чтобы там что-нибудь возвращалось.
Reply
#27

Эх народ. Посмотрите код или запустите сервер с этим плагином из под отладчика (там все будет видно).

Вопрос: какой код выполняется из под новых ниток?

Ответ: код делающий паузу и добавляющий параметры вызова в очередь. ВСЕ!!!. Весь остальной код (и ваши обработчики) вызывается из основной нити сампа.


Я совсем не понимаю за чем нужен этот плагин, потому что все что он умеет, это сделать новую нитку, в этой нитки сделать паузу и добавить параметры вызова в очередь. А в основной нитке сервера эту очередь перебирать. Romanius, прежде чем писать пойми как работают бустовые нитки и что самп потоко не безопасен!


Для интересующихся, код, выполняющийся в новой никте:
Code:
void RunPawnThread(int thrid)
{
	boost::mutex::scoped_lock lock(mutex);

	if(ThreadData[thrid].dealy) boost::this_thread::sleep(boost::posix_time::milliseconds(ThreadData[thrid].dealy));

	threadID.push(thrid);
}
После завершении этой функции нитка завершает свое существование.
Reply
#28

хе. ты прав что то я не подумал исправлю в следующей версии
Reply
#29

Romanius прошу тебя, прочитай https://sampforum.blast.hk/showthread.php?tid=128338, а именно:
Quote:

Pawn is not threadsafe. The only way to interact with pawn from threads is to implement a ProcessTick function. If you start dealing with pawn from a thread that isn't synchronised with the server's main loop, it's likely you'll be calling in to it at a time when it's already doing something else.

И подумай, почему ****** не сделал это так легко, как ты хочешь.

Ответ очень простой: из ниток вызывать никакие функции сампа НЕЛЬЗЯ. Все функции сампа должны вызываться из основного цикла сампа (потока). Как ты собрался исправлять? Просто подумай, прежде чем писать.


А еще хорошо бы подумать, почему самп работает в одну нитку. Когда ответ на этот вопрос будет получен, желания сделать универсальные решения подобного плана пропадут сами собой.
Reply
#30

Quote:
Originally Posted by MX_Master
View Post
Romanius
+5 за плагин

ZaR
Плагин написал другой человек, сделал релиз на другом форуме, где баян? Это все равно что сказать что мои INI инклуды, к примеру, это баян, потому что есть dini.
а где их взять?
Reply
#31

Велосипед изобретаете, причём с квадратными колёсами.
Reply
#32

Quote:
Originally Posted by White_116
View Post
Велосипед изобретаете, причём с квадратными колёсами.
Вы наверное щас ждете вопрос "почему?". Почему? (Плагин ******'a мне не подходит, если что)

UPD: Хотя, по сути, если я все правильно понимаю, основная часть кода из "отдельного потока", все равно будет выполняться в основном потоке. Вопросы отменяются
Reply
#33

Quote:
Originally Posted by stabker
View Post
Вы наверное щас ждете вопрос "почему?". Почему? (Плагин ******'a мне не подходит, если что)

UPD: Хотя, по сути, если я все правильно понимаю, основная часть кода из "отдельного потока", все равно будет выполняться в основном потоке. Вопросы отменяются
http://git.bjiadokc.ru/samp-plugin-antiattack

Все уже сделано за вас
Reply
#34

Дайте ссылочку на хороший подобный плагин, который уже испытан.
За ранее спс!
Reply
#35

Quote:
Originally Posted by Kai_Rodriges
View Post
Дайте ссылочку на хороший подобный плагин, который уже испытан.
За ранее спс!
Все испытаны, все небезопасны.
ЗЫ "заранее" пишется слитно.
Reply
#36

Quote:
Originally Posted by Stepashka
View Post
Все испытаны, все небезопасны.
ЗЫ "заранее" пишется слитно.
Спасибо, я так понимаю мультипотоки никто не использует, интересно 1000 онлайн как грузит проц?
Reply
#37

Quote:
Originally Posted by Kai_Rodriges
View Post
Спасибо, я так понимаю мультипотоки никто не использует, интересно 1000 онлайн как грузит проц?
Спросите у владельцев серверов с онлайном 1000 )
Reply
#38

Я думаю владельцы серверов 1к не особо парятся вопросами "Скока грузит проца", "Скока памяти". Они арендуют физический сервер и используют его...
Reply
#39

Quote:
Originally Posted by -Stranger-
View Post
Я думаю владельцы серверов 1к не особо парятся вопросами "Скока грузит проца", "Скока памяти". Они арендуют физический сервер и используют его...
парятся, и ещё как, стараясь уменьшить эти циферки...
Reply
#40

Обновить ссылочку автор не желает?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)