Skip to content

关于webserver.cpp中的dealwithread()中两种反应堆是否阻塞的疑问 #301

@B1uee

Description

@B1uee

看了将近半天,也查了issue,我发现大家普遍对reactor提出了问题,认为主线程需要一直while轮询确保读写操作完成,状态码改变,好像阻塞在这了。

除此之外,我对proactor也同样有疑问,if (users[sockfd].read_once())的意思应该是主线程自己读取了数据吧,假如是ET的话还需要循环读取完才能返回结果,那读取数据产生的这段“等待”时间,是否也算是“阻塞”呢?

还是说因为proactor是基于同步IO模拟的,因此读数据的过程是同步,不算阻塞,只有等待数据准备的过程才算阻塞呢?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions