diff --git a/lib/cpp/src/server/TNonblockingServer.cpp b/lib/cpp/src/server/TNonblockingServer.cpp
index 583877b..34a0d88 100644
--- a/lib/cpp/src/server/TNonblockingServer.cpp
+++ b/lib/cpp/src/server/TNonblockingServer.cpp
@@ -337,7 +337,7 @@
       return;
     }
 
-    // In this case, the request was asynchronous and we should fall through
+    // In this case, the request was oneway and we should fall through
     // right back into the read frame header state
     goto LABEL_APP_INIT;
 
diff --git a/lib/erl/src/thrift_client.erl b/lib/erl/src/thrift_client.erl
index 802c009..40eb5dd 100644
--- a/lib/erl/src/thrift_client.erl
+++ b/lib/erl/src/thrift_client.erl
@@ -98,7 +98,7 @@
     gen_server:cast(Client, {call, Function, Args}).
 
 %% Sends a function call but does not read the result. This is useful
-%% if you're trying to log non-async function calls to write-only
+%% if you're trying to log non-oneway function calls to write-only
 %% transports like thrift_disk_log_transport.
 send_call(Client, Function, Args)
   when is_pid(Client), is_atom(Function), is_list(Args) ->
diff --git a/lib/erl/src/thrift_processor.erl b/lib/erl/src/thrift_processor.erl
index 0ad6557..2f5a81b 100644
--- a/lib/erl/src/thrift_processor.erl
+++ b/lib/erl/src/thrift_processor.erl
@@ -97,7 +97,7 @@
                  send_reply(OProto, Function, ?tMessageType_REPLY, {ReplyType, {StructName}});
 
              ok when ReplyType == async_void ->
-                 %% no reply for async void
+                 %% no reply for oneway void
                  ok
          end.
 
diff --git a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
index e5f49df..0904745 100644
--- a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
+++ b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
@@ -634,7 +634,7 @@
       readBufferBytesAllocated -= buffer_.array().length;
 
       if (response_.len() == 0) {
-        // go straight to reading again. this was probably an async method
+        // go straight to reading again. this was probably an oneway method
         state_ = AWAITING_REGISTER_READ;
         buffer_ = null;
       } else {
diff --git a/lib/java/test/org/apache/thrift/test/TestClient.java b/lib/java/test/org/apache/thrift/test/TestClient.java
index d868999..91b3ec5 100644
--- a/lib/java/test/org/apache/thrift/test/TestClient.java
+++ b/lib/java/test/org/apache/thrift/test/TestClient.java
@@ -353,7 +353,7 @@
         }
         System.out.print("}\n");
 
-        // Test async
+        // Test oneway
         System.out.print("testAsync(3)...");
         long startAsync = System.nanoTime();
         testClient.testAsync(3);
diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py
index a588fe3..816827c 100644
--- a/lib/py/src/server/TNonblockingServer.py
+++ b/lib/py/src/server/TNonblockingServer.py
@@ -162,7 +162,7 @@
         self.len = ''
         self.message = struct.pack('!i', len(message)) + message
         if len(message) == 0:
-            # it was async request, do not write answer
+            # it was a oneway request, do not write answer
             self.status = WAIT_LEN
         else:
             self.status = SEND_ANSWER
