如果我有这样的伪代码:
doSomeWork(_data):
blah blah
if main:
data=receiveDatafromSocket()
doSomeWork(data)
我的简单问题是,如果在doSomeWork()数据到达套接字期间,我会等到doSomeWork()完成后再将新数据传递给该函数吗?数据保留在缓冲区中,然后代码以线性方式逐个执行?
答案 0 :(得分:0)
是的,假设这是一个TCP套接字,系统会缓冲传入数据,直到您读取并保持其顺序为止。如果系统缓冲区填满,则从远程端接收的数据将被阻止,直到您阅读并腾出更多空间。