VideoCopilot Posted March 12, 2015 Posted March 12, 2015 Hello i made 1 threadpool that check every 1 second and then another one and bla bla the question is how much a trheadpool that check every 1 second or 0.5 seconds lag the server or affect the pc? Lets say i have 10 threadpool that all check every 1 second... is it bad? Quote
0 vampir Posted March 12, 2015 Posted March 12, 2015 From my experience, not at all. I have got threads that are running far more often and that's not causing me any troubles. Just remember: - sometimes scheduleAtFixedRate/scheduleAtFixedDelay might be a lot better - sometimes you can combine 100 threads into 1(for example if you want to give 2 recommendations to every player that was online for at least 2 hours, you can create new thread for each player or you can create 1 thread that would handle them all) Quote
0 ’Insider Posted March 12, 2015 Posted March 12, 2015 java supports Integer.MAX_VALUE threads if not more Quote
0 ’Insider Posted March 12, 2015 Posted March 12, 2015 Whereas its "weight" depends on the task you assign to it, so your question does not make sense Quote
0 vampir Posted March 13, 2015 Posted March 13, 2015 java supports Integer.MAX_VALUE threads if not more But server machine doesn't Quote
0 Rootware Posted March 13, 2015 Posted March 13, 2015 But server machine doesn't What the server machine you uses? Intel Pentium D who was made in far 2005? What doing you threadpool? Calculating 2+2 or something more harder? Quote
0 vampir Posted March 13, 2015 Posted March 13, 2015 (edited) What the server machine you uses? Intel Pentium D who was made in far 2005? What doing you threadpool? Calculating 2+2 or something more harder? Try to create 2^31-1 empty threads and schedule them to be run every second and let me know if your machine can handle it without any high CPU usage :) Edited March 13, 2015 by vampir Quote
0 Tryskell Posted March 13, 2015 Posted March 13, 2015 (edited) No, 10 Threadpools is nothing, but as say vampir a successful pack tries to reduce amount of generated stuff at its maximum. On aCis, that's how I ended to create general tasks for swimming, pvpflag && shadow weapon recently. If 1000 swimming pvpers holding shadow weapons exist on your server, I use only 3 tasks instead of 3000. And obviously the scenario is absurd, but you got the idea behind it. It saves ressources, no matter what. I also reworked MDT system, instead to create one threadpool per reached timer, there is only one threadpool running forever. Which avoids the generation of objects, and so will delay GC. That rework, plus another, plus another... If you add all those little reworks, it can grow very big. To answer, no, 10 threadpools is almost nothing, but be sure to stop them correctly. And if it's 10 threadpool per player, then try to reduce the amount with tricks such as general tasks or looping task (if it's a counter type). Edited March 13, 2015 by Tryskell Quote
0 VideoCopilot Posted March 13, 2015 Author Posted March 13, 2015 Lets say that i made 1 thread that calculate and send message to all players in 1 zone every second and one other that is timer on a npc (real time) and i was just thinking if keep making more it will delay things or something Quote
0 vampir Posted March 13, 2015 Posted March 13, 2015 Lets say that i made 1 thread that calculate and send message to all players in 1 zone every second Do not worry about this, that's not a problem at all. I cannot tell you about Npc Timer because i don't know what you mean Quote
0 Tryskell Posted March 13, 2015 Posted March 13, 2015 (edited) You only need a single task for such thing, and the task can be even controlled because you can check how much characters are in this area. L2DamageZone is an exemple of zone where a task is created, only if players enter in the zone, and affect all ppl inside this zone. The task is then destroyed if none is inside this zone. The task can easily retrieve possible targets, because zones system store characters entering and exiting zones. Even NPCs. I didn't get the npc "real timer" thing. Edited March 13, 2015 by Tryskell Quote
0 VideoCopilot Posted March 13, 2015 Author Posted March 13, 2015 I need see about L2DamageZone and make the thread similar.. Quote
Question
VideoCopilot
Hello i made 1 threadpool that check every 1 second and then another one and bla bla
the question is how much a trheadpool that check every 1 second or 0.5 seconds lag the server
or affect the pc?
Lets say i have 10 threadpool that all check every 1 second... is it bad?
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.