1.add io read/write in nonblock mode