多线程的问题

请教下 多线程的时候,是多个线程同时执行还是cpu随机切换线程执行? 服务器对于每个客户端,都是一个线程,是同时处理请求的吗

主要想了解下服务器在面对大量客户端连接的时候,是如何处理请求,每个连接是一个线程?线程间哪些东西是共享的,哪些是独立的。

有看到文章说共享代码,那在一个服务器上并发可以在代码中处理,但如果是集群,当出现不同服务器上的连接请求数据服务器的同一个资源,又是怎么同步的呢

对服务器(集群)处理用户连接的竞态问题一直不清楚,请问需要补充哪方面的知识(书籍)?

阅读 2.7k
1 个回答

操作系统课程里面的进程管理讲的都会很详细,并行执行都是依赖于cpu核数的,有2个核,也就只能同时有2个线程在执行,如果线程数多于核数,操作系统会轮番地去执行这些线程,一般的策略是时间片轮询。推荐去看《操作系统概念》,学堂在线也有操作系统公开课

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进