增加了等待时间支持

如果ms为-1, 则为永久等�
如果ms为0, 则不论成功失败则立即返回, 返回值0为成功, -1为失败
如果ms大于0, 则一定在ms个毫秒内返回