您现在的位置是:首页 > 电脑技术查询 > 电脑知识

多线程浏览器

编辑:chaxungu时间:2022-09-28 09:36:05分类:电脑知识

所谓的多线程浏览器,通常是指ui多线程。

ui多线程定义:
  windows窗体中最重要的一条线程规则:除了极少数的例外情况,否则都不要在它的创建线程以外的线程中使用控件的任何成员。规则的结果是一个被包含的控件,如包含在一个表单中的按钮必须与包含它控件位处于同一个线程中。也就是说,一个窗口中的所有控件属于同一个ui线程。大部分windows窗体应用程序最终都只有一个线程,所有ui活动都发生在这个线程上。这个线程通常称为ui线程。ui多线程最重要的作用是缓解假死。而不是说页面多线程下载下来,提高浏览速度。

ui为什么选择多线程?
多线程程序要比单线程程序更难于编写,并且不加选择地使用线程也是导致难以找到细小错误的重要原因。这就自然会引出两个问题:为什么不坚持编写单线程代码?如果必须使用多线程,如何才能避免缺陷呢?本文的大部分篇幅都是在回答第二个问题,但首先我要来解释一下为什么确实需要多线程。

多线程处理可以使您能够通过确保程序“永不睡眠”从而保持ui的快速响应。大部分程序都有不响应用户的时候:它们正忙于为您执行某些操作以便响应进一步的请求。也许最广为人知的例子就是出现在“打开文件”对话框顶部的组合框。如果在展开该组合框时,cd-rom驱动器里恰好有一张光盘,则计算机通常会在显示列表之前先读取光盘。这可能需要几秒钟的时间,在此期间,程序既不响应任何输入,也不允许取消该操作,尤其是在确实并不打算使用光驱的时候,这种情况会让人无法忍受。

执行这种操作期间ui冻结的原因在于,ui是个单线程程序,单线程不可能在等待cd-rom驱动器读取操作的同时处理用户输入。“打开文件”对话框会调用某些阻塞(blocking)api来确定cd-rom的标题。阻塞api在未完成自己的工作之前不会返回,因此这期间它会阻止线程做其他事情。

——

目前的多线程浏览器只有微软的ie7和世界之窗浏览器

上一篇:单挑视频王

下一篇:sticky notes v5.5