22.07.2010, 15:06
[Plugin] Pawn Threads v0.2
22.07.2010, 15:17
но ты то не сестра
23.07.2010, 09:09
как думаете мож еще функции прикрутить шоб при работе таймера изменять его параметры (названия калл бэка, интервал, повтор и тп)
24.07.2010, 05:32
Quote:
как думаете мож еще функции прикрутить шоб при работе таймера изменять его параметры (названия калл бэка, интервал, повтор и тп)
|
а интервал, как уже писали, добавь задержку и все.
повтор, смысл, одиночный таймер все равно будет использоваться как одиночный, а постоянный, если он не нужен он просто убъется, а делать из него оиночный, тоже самое что убить его на один запуск позже.
24.07.2010, 06:25
ну а если при возвращении в колбеке 0 то поток уничтожается а если 1 то работает дальше?
24.07.2010, 07:03
Это уже бред, я вообще в некоторых самопальных колбеках ничего не возвращаю, например в стримере иконок и машин, просто не нужно чтобы там что-нибудь возвращалось.
24.07.2010, 15:04
Эх народ. Посмотрите код или запустите сервер с этим плагином из под отладчика (там все будет видно).
Вопрос: какой код выполняется из под новых ниток?
Ответ: код делающий паузу и добавляющий параметры вызова в очередь. ВСЕ!!!. Весь остальной код (и ваши обработчики) вызывается из основной нити сампа.
Я совсем не понимаю за чем нужен этот плагин, потому что все что он умеет, это сделать новую нитку, в этой нитки сделать паузу и добавить параметры вызова в очередь. А в основной нитке сервера эту очередь перебирать. Romanius, прежде чем писать пойми как работают бустовые нитки и что самп потоко не безопасен!
Для интересующихся, код, выполняющийся в новой никте:
После завершении этой функции нитка завершает свое существование.
Вопрос: какой код выполняется из под новых ниток?
Ответ: код делающий паузу и добавляющий параметры вызова в очередь. ВСЕ!!!. Весь остальной код (и ваши обработчики) вызывается из основной нити сампа.
Я совсем не понимаю за чем нужен этот плагин, потому что все что он умеет, это сделать новую нитку, в этой нитки сделать паузу и добавить параметры вызова в очередь. А в основной нитке сервера эту очередь перебирать. 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); }
25.07.2010, 06:13
хе. ты прав что то я не подумал исправлю в следующей версии
25.07.2010, 14:47
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. |
Ответ очень простой: из ниток вызывать никакие функции сампа НЕЛЬЗЯ. Все функции сампа должны вызываться из основного цикла сампа (потока). Как ты собрался исправлять? Просто подумай, прежде чем писать.
А еще хорошо бы подумать, почему самп работает в одну нитку. Когда ответ на этот вопрос будет получен, желания сделать универсальные решения подобного плана пропадут сами собой.
01.08.2010, 14:44
31.10.2013, 18:00
Велосипед изобретаете, причём с квадратными колёсами.
31.10.2013, 18:02
(
Last edited by stabker; 31/10/2013 at 06:35 PM.
)
Вы наверное щас ждете вопрос "почему?". Почему? (Плагин ******'a мне не подходит, если что)
UPD: Хотя, по сути, если я все правильно понимаю, основная часть кода из "отдельного потока", все равно будет выполняться в основном потоке. Вопросы отменяются
UPD: Хотя, по сути, если я все правильно понимаю, основная часть кода из "отдельного потока", все равно будет выполняться в основном потоке. Вопросы отменяются
02.11.2013, 07:03
Quote:
Вы наверное щас ждете вопрос "почему?". Почему? (Плагин ******'a мне не подходит, если что)
UPD: Хотя, по сути, если я все правильно понимаю, основная часть кода из "отдельного потока", все равно будет выполняться в основном потоке. Вопросы отменяются |
Все уже сделано за вас
06.11.2013, 06:24
Дайте ссылочку на хороший подобный плагин, который уже испытан.
За ранее спс!
За ранее спс!
06.11.2013, 06:46
09.11.2013, 13:27
11.11.2013, 02:16
11.11.2013, 17:22
Я думаю владельцы серверов 1к не особо парятся вопросами "Скока грузит проца", "Скока памяти". Они арендуют физический сервер и используют его...
15.11.2013, 14:20
02.12.2014, 10:47
Обновить ссылочку автор не желает?
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)