Quote from Canownueasy
As I said before, not much of a reader, are you? Your reply makes it seem like you either (1) completely skipped over the critical information I had presented or (2) didn't understand the information.
Regardless, here's a tutorial for implementation reactor-based networking with Java NIO:
Wow. Just wow. I'm coming here late, following links from other threads, but I gotta say you don't understand half what you think you do.
Minecraft, both client and server, is written in Java. NIO has zero to do with the issue of Minecraft running on a Java VM not using all available processing power.
When modifying a source to utilize processing power not factored into the initial design, the amount of effort required is variable, depending on initial design and implementation of classes.
Simply branching threads willy-nilly can have unintended consequences, some catastrophic. Changing the state of an object designed for a single thread design can be catastrophic (or "buggy") when multiple threads have access.
NIO simply addresses a failing in Java regarding input/output. It does not address the inability of a software package to utilize multiple threads to make best use of available processing power.
If you understood what NIO in Java actually delivers you wouldn't have posted in this thread. If you understood what the OP was attempting, you wouldn't have posted.
Before you call others "newbies," ask yourself if your post is intended to "prop your ego" or "share information that might save someone else time and labor."
If no information exists in your post that might save someone time and labor, your post is "trolling," and not helpful. This post is also an example of trolling.
I'm not propping my ego but I am pointing out your comments are the output of a true newb who doesn't understand the issue before posting a negative comment - dropping whatever they might have learned in the last week as if it solves the original problem without the slightest understanding of the OP's post. Arguably, I am saving the OP the hassle of investigating NIO and realizing it doesn't address the issues. But my main thrust is discounting the input of someone who doesn't understand the problem but insists on insulting people who do.
In point of fact, your post is irrelevant - a mistake only a newb would make. NIO could help with input/output, but the underlying issue is Minecraft running under Java doesn't make full use of the processing power available in a world of multi-core, multi-processor architecture.
I respect the OP's endeavor. I might suggest porting Minecraft server to C++ would solve a whole host of Java-centric performance issues while still allowing multi-architecture compatibility. I admire the OP's intent.
Mojang really needs to learn C++ and put the game there. Drop Java except for clients, IMHO.
I apologize to the OP for cluttering his thread.