关于线程返回的字符串是null的问题

做的一个聊天室,代码如下,socket从服务器端将字符串传过来,然后赋值给str,这里println出来显示没问题,但是从线程外调这个getstr方法返回的就是null,用了while( ==null){thread.sleep}后,就只有第一次可以,后面再调用又不行了,大佬们,怎么搞呢?关于线程返回的字符串是null的问题