翻阅了iphone开发多线程方面的资料,本人的了解是:新开的线程(比如用NSOPERATION)的数据,只有等线程结束了才能传到另一个线程。不像WINDOWS下,我开个线程用while(1)语句,可以让新的线程一直存在。新线程的数据可以用线程之间的通信方式传出去。我的理解是否正确?
如果我的理解正确,现在我的iphone客户端程序,需要监听tcp连接,随时接收从服务器端发来的数据,这个该怎么实现?请高手指点,谢谢!

解决方案 »

  1.   

    不对。NSOperator只是在 NSThread之上封装了一下。如果你想利用诸如windows上的thread,那么你可以用NSThread.     TCP监听链接,参考socket c/s模式。网上搜艘,很多相关的介绍.
      

  2.   

    首先感谢两位的捧场。我是看了下面的技术文档:http://developer.apple.com/library/ios/#technotes/tn2109/_index.html#//apple_ref/doc/uid/DTS40010274
    里面讲NSThread不安全。才考虑用NSOPERATION的。如果各位有经验认为NSTHREAD,我也可以改用NSTHREAD。NSTHREAD里可以加while(1)这样的循环吗?怎样把数据传出来呢。还希望更仔细的赐教。谢谢!
      

  3.   

    感觉iphone版面还是比较冷清,这种问题都没人帮忙。还得靠自己啊。自己花了4天时间,用CFSocket搞定了。搞定了这个,原来才真正理解了object-c是一个c的扩展。在object-c里用c,原来是如此的自由。也再次认识到object-c的强大,呵。今天结贴。