一个struct at_device中有一个rt_event_t socket_event; 但是有N个struct at_socket *sockets; 每次connect或send或close时,会先清一下事件,然后等事件发生; 虽然at_obj_exec_cmd是加锁的,但清事件写在外面没有加锁, 所以有可能,其中一个线程再等事件,另一个刚调用,就会误清事件。