title: MultiThreading Vert.x to handling thousands of connections per sec
body: <p>I'm building up a messenger like server, I have made some changes to vert.x like this</p>
  
  <pre><code>vertx.deployVerticle(MainDeployment.class.getCanonicalName(),res -&gt; {
            if (res.succeeded()) {
  
                  Logger.Log("Deployed");
  
                } else {
                  Logger.Log(res.cause().getMessage());
                }
              });
  
      server.requestHandler(router::accept).listen(port);
  
  
   public void createContext(String path,MyHttpHandler handler){
      //handlersMap.put(path.split("\\/")[1], handler);
      if(!path.endsWith("/")){
          path += "/";
      }
  
      path+="*";
  
      map.put(path, handler);
  }
  </code></pre>
  
  <p>and here my MainDeployment class</p>
  
  <pre><code> public class MainDeployment extends AbstractVerticle{
  
  
  
    @Override
    public void start() throws Exception {
  
        //GUI.display("Sub Verticle Has Deployed");
  
      // Different ways of deploying verticles
  
      // Deploy a verticle and don't wait for it to start
  
     for(Entry&lt;String, MyHttpHandler&gt; entry : MyVertxServer.map.entrySet()){
         MyVertxServer.router.route(entry.getKey()).handler(new Handler&lt;RoutingContext&gt;() {
  
              @Override
              public void handle(RoutingContext ctx) {
  
                  String[] handlerID = ctx.request().uri().split(ctx.currentRoute().getPath());
  
                  String suffix = handlerID.length &gt; 1 ? handlerID[1] : null;
                  entry.getValue().Handle(ctx, new VertxUtils(), suffix);
  
              }
          });
     }
  
    }
  }
  </code></pre>
  
  <p>the documentation says</p>
  
  <pre><code> Vert.x guarantees that a particular verticle instance is never executed by more than one thread concurrently. This gives you a huge advantage as a developer, since you can program all your code as single threaded
  </code></pre>
  
  <p>since every verticle has its own thread and will be single threaded , so if my verticle upload files , it can not process 2 uploads at same time or am i misunderstanding the concept of NIO?</p>