CN103412740A - 多顶层用户界面显示 - Google Patents

多顶层用户界面显示 Download PDF

Info

Publication number
CN103412740A
CN103412740A CN2013102137220A CN201310213722A CN103412740A CN 103412740 A CN103412740 A CN 103412740A CN 2013102137220 A CN2013102137220 A CN 2013102137220A CN 201310213722 A CN201310213722 A CN 201310213722A CN 103412740 A CN103412740 A CN 103412740A
Authority
CN
China
Prior art keywords
user
interface display
interface
async
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102137220A
Other languages
English (en)
Other versions
CN103412740B (zh
Inventor
A·D·德米尔吉奥卢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/606,017 external-priority patent/US8990818B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN103412740A publication Critical patent/CN103412740A/zh
Application granted granted Critical
Publication of CN103412740B publication Critical patent/CN103412740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及多顶层用户界面显示。当程序调用同步用户界面显示时,确定是否需要生成异步用户界面(UI)显示。如果需要,则由同步程序调用的用户界面线程被阻塞,并且生成和显示异步UI显示,以使得它在UI显示屏上覆盖同步显示。当与同步用户界面显示相对应的处理完成时,处理返回至同步用户界面显示,并且解除对由同步程序调用的用户界面线程的阻塞。

Description

多顶层用户界面显示
本申请基于并主张2012年6月1日提交的第61/654127号美国临时专利申请的权益,该申请的内容通过引用整体结合于此。
技术领域
本发明涉及用户界面显示,尤其涉及多顶层用户界面显示。
背景技术
许多计算机程序生成用户界面显示。用户界面显示一般在显示屏上显示信息以供用户观察。某些用户界面显示还包括用户输入机制,该用户输入机制允许用户与该机制在用户界面显示上交互以向计算机程序提供输入。当前,某些程序使用同步编程模型来生成用户界面显示,而另一些程序使用异步编程模型来生成用户界面显示。
在同步系统中,程序可在用户界面编程线程上生成用户界面(UI)显示。用户界面线程(即用户界面编程线程)是可具有消息队列和消息循环并且将消息分派给各窗口的线程。作为示例,一个这样的用户界面显示被称为模式化对话显示。模式化对话显示是在处理能够继续之前要求用户交互的一种用户界面显示。例如,如果用户期望删除一文件,则同步程序可生成写着“你想要删除此文件吗?”的对话框,并且还显示“是”和“否”按钮以供用户启动。在同步系统中,处理直到用户通过要么点击“是”按钮要么点击“否”按钮来与模式化对话显示进行交互之后才继续。因此,该程序可以按照这样一种方式来编写:程序员可以认为在执行下一行程序代码之前用户回答了模式化对话框中的问题。
作为另一示例,在同步系统中,同步程序可生成与长期运行的操作相对应的用户界面显示。例如,如果用户选择了要从一个文档复制并粘贴到另一文档的大量文本,则这一操作可能要花费若干秒。在这期间,同步程序可抑制其他用户输入的发生,直到该长时间运行的操作已完成。作为示例,同步程序可使用户界面显示元素“变灰(gray out)”,以使得当文本正从一个文档被复制并被粘贴到另一文档时不可能有其他用户输入。类似地,如果用户正在启动一应用或引导系统本身,则这些操作可能花费若干秒,并且也可能被认为是长时间运行的操作。在这些长时间运行的操作期间,系统常常抑制其他用户输入的发生直到该操作完成。
在异步系统中情况并非如此。异步系统常常简单地异步调用在一行代码中的模式化对话框或长时间运行的操作,以使得后续行的代码无法认为程序已经收到对模式化对话框中的问题的响应或者该长时间运行的操作已完成。用户界面线程是异步的,并且处理在程序代码中继续,而不管用户是否已经与模式化对话框交互或者与UI相对应的操作是否已完成。
异步系统还操作用于确保用户界面显示线程没有不必要地阻塞用户输入。作为示例,如果异步用户界面显示被生成,并且它正在阻塞用户输入在持续一特定时间量(诸如五秒、或十秒、或另一阈值时间量)期间内被程序接收,则某些异步系统杀死正在阻塞用户输入的用户界面显示线程(或甚至整个应用)。异步系统认为用户界面显示线程没有适当地作出响应并且因此它应当被杀死。
这可使得在使用异步编程模型生成的系统中运行使用同步编程模型编写的程序变得困难。例如,如果同步程序正在进行花费长于5-10秒(作为示例)的长时间运行的操作,则异步系统可能杀死负责该长时间运行的操作的应用(或至少UI线程)。这可导致不合意的操作。
提供以上讨论仅用作一般的背景信息,并不旨在帮助确定所要求保护的主题的范围。
发明内容
当程序调用同步用户界面显示时,确定是否需要生成异步用户界面(UI)显示。如果需要,则由同步程序调用的用户界面线程被阻塞,并且生成和显示异步UI显示,以使得它在UI显示屏上覆盖同步显示。当与同步用户界面显示相对应的处理完成时,处理返回至同步用户界面显示,并且解除对由同步程序调用的用户界面线程的阻塞。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图简述
图1是一个说明性计算系统的框图。
图2A-2B示出图1所示系统在同步用户界面线程中的操作的一个实施例的流程图。
图3A-3F示出说明性异步用户界面显示。
图4示出说明性云计算体系结构的框图。
图5-8示出各种移动设备。
图9是一个说明性计算环境的框图。
具体实施方式
图1是生成用户界面显示102以向用户104显示的一个说明性计算系统100的框图。在图1所示的实施例中,计算系统100包括处理器106、数据存储108、同步程序110、异步程序112、用户界面组件114和同步UI线程处理组件116。
在一个实施例中,处理器106是具有相关联的存储器和定时电路(未示出)的计算机处理器。处理器106是系统100的功能部件,并且由系统100的其他程序和组件激活并且促进该其他程序和组件的功能。数据存储108说明性地存储可被同步程序110、异步程序112或其他程序使用的数据。同步程序110说明性地是使用同步编程模型创作的计算机程序或组件。程序110可以是应用或其他程序。类似地,异步程序112说明性地是使用异步编程模型创作的程序。它也可以是应用或其他程序。
用户界面组件114说明性地生成用户界面显示102以向用户104显示。用户界面显示102说明性地包括用于从用户104接收用户输入的用户输入机制。用户输入机制可以是用于从触敏屏幕、从键盘、点击设备(例如鼠标)、虚拟键盘或软体键盘、语音输入等接收用户输入的任何合适的用户输入机制。在任何情况下,用户104说明性地通过用户界面显示102与系统100交互。
在一个实施例中,计算系统100可通过同步程序110和异步程序112两者操作,通过用户界面组件114生成界面显示102,而不会有当用户界面(UI)显示线程被同步程序110生成时它被杀死的风险。同步UI线程由组件116处理,所以它不会被异步系统杀死。图2A和2B示出说明了系统100在这么做时的操作的一个实施例的流程图。
然而,在更详细地描述在处理用户界面线程中系统100的操作之前,仅将为了概览而提供简要描述。首先假定,系统100说明性地根据异步编程模型来操作。因此,在常规操作下,它期望处理异步用户界面线程。然而,可能的情况是同步程序(诸如程序100)也在系统100内操作。在该情况下,同步程序110使用同步编程模型来创作,其中用户界面线程以同步方式来处理。也就是说,某些用户界面线程将阻塞程序110中的代码的进一步执行,直到与用户界面线程相对应的处理被完成。
作为示例,可能的情况是:在进行任何其他处理之前,程序110生成模式化对话框,用户104通过包括该模式化对话框的用户界面显示102与该模式化对话框交互。此外,在程序110是引导程序的情况下,可能在引导过程期间将不会接收用户输入。另外,在程序110正在执行长时间运行的操作时,它可能不会接受任何用户输入直到该长时间运行的操作被完成。在任何情况下,当系统110根据异步编程模型来操作时,所有这些用户界面线程在它们对应的处理完成之前可能过早地被系统100杀死。
因此,当同步程序100调用用户界面线程时,组件116确定调用用户界面线程的程序是同步的还是异步的。如果它是同步的,则系统100确定用户界面线程可能被过早地杀死。如果是这样,则组件116通过使用组件114生成异步用户界面显示并且覆盖由程序110生成的同步用户界面显示。组件116随后阻塞程序110中的代码的进一步执行,直到与同步用户界面线程相对应的处理已被完成。随后,组件116移除异步用户界面显示,解除对程序110所生成的同步用户界面显示的覆盖,并且组件116解除对程序110的阻塞,以使得程序110能够继续处理。以此方式,由于异步用户界面显示被生成并且覆盖同步用户界面显示,系统100将不会杀死同步用户界面显示,因为它不再排除用户输入,因为异步用户界面显示正覆盖其上。从而,与同步用户界面显示相对应的处理已被完成,并且异步用户界面显示被移除。处理返回至同步用户界面显示,并且程序110被解除阻塞,以使得它能够继续其处理。
现在将彼此结合地讨论图2A和2B,并且图2A和2B被统称为图2。系统100首先从用户104接收要启动程序的用户输入。这由图2的框120指示。系统100(且具体地是组件116)接着确定程序是同步程序110还是异步程序112。这由图2A的框122指示。如果是异步程序112,则不必担心关于系统是否会以异步的方式杀死用户界面线程,因为异步程序112是使用异步编程模型来创作的,且其操作将不会受到负面影响。因此,系统100简单地使用异步处理来处理所有用户界面线程。这由图2中的框124指示,并且对用户界面线程的处理已完成。
然而,如果在框122确定用户正在使用同步程序110,则组件116确定程序110是否正在调用同步用户界面线程。这由图2的框126指示。如果为否,则程序110简单地继续如常处理,如图2中的框128所指示的。
然而,如果在框126确定程序110正在调用同步用户界面线程,则组件116确定是否需要生成异步用户界面。这由图2的框130指示。
为了确定是否需要生成异步用户界面显示,可以考虑各种不同的事务。在一个实施例中,每一次用户界面线程被程序调用时,它就被提交以由同步UI线程处理组件116来处理。组件116随后可用多种不同的方式来确定是否需要生成异步UI显示。例如,如果UI线程与模式化对话框相对应,则组件116确定的确需要生成异步用户界面显示。类似地,如果调用用户界面线程的程序是引导程序,则组件116也将确定需要生成异步用户界面显示。另外,如果与同步用户界面相对应的操作是长时间运行的操作,则在这些情况下也可生成异步用户界面显示。对话由图2中的框132指示,而引导程序由框134指示且长时间运行的操作由框136指示。当然,当所调用的用户界面是另一用户界面时,也可生成异步用户界面显示。这由框138指示。
如果组件116确定不必生成异步用户界面显示,则在框128程序代码被简单地如常执行。然而,如果的确需要生成异步用户界面显示,则组件116阻塞程序110中的UI线程,以使得不能再执行其他代码,直到与同步用户界面线程相对应的处理已经完成。这由图2的框140指示。阻塞UI线程可以用各种不同的方式来完成。在一个实施例中,组件116调用可用于阻塞UI线程的处理的应用程序编程接口(API)。当然,阻塞也可以用其他方式来执行。
组件116随后使用用户界面组件114来生成异步用户界面显示,并且使用该显示在用户界面显示102上覆盖同步用户界面显示。这由图2的框142指示。例如,在同步显示是模式化对话框的情况下,组件116生成异步模式化对话框并且覆盖同步模式化对话框。模式化对话框的异步用户界面由图2中的框144指示。
在同步用户界面显示是与引导操作相对应的屏幕时,生成如图2中的框146所指示的异步引导屏幕。在同步用户界面显示与长时间运行的操作相对应时,显示如框148所指示的异步进程指示符。当然,也可使用其他异步显示且这由框150指示。
图3A-3F示出可被生成并被用来覆盖同步用户界面显示的说明性异步用户界面显示。在一个实施例中,异步用户界面显示是覆盖了其上示出了同步用户界面显示的整个用户界面显示屏的全屏用户界面显示。当然,也可生成其他大小的异步用户界面显示屏。
作为示例,图3A示出作为异步模式化对话框的用户界面显示屏160。在一个实施例中,在同步程序110生成同步模式化对话框的情况下,异步模式化对话框160被生成并且被显示在同步模式化对话框的顶层。一旦用户与异步模式化对话框160交互,处理返回至程序110以及由程序110生成的同步模式化对话框,并且伴有与异步模式化对话框160的用户交互的结果。
图3B是异步引导显示屏的一个说明性实施例162。引导显示屏162说明性地包括示出正在引导或启动的应用或程序或系统的程序名称指示符或其他文本或图形指示符164。因此,当程序110是引导程序并且由程序110调用的用户界面线程与引导操作相对应时,组件116说明性地生成异步引导屏幕162并且将其显示在由程序110生成的同步引导显示屏的顶层上方。
图3C是引导显示屏的另一实施例166。代替文本部分164,引导显示屏166具有显示图形图像的图形或图标部分168。然而,其操作与图3B中所示的引导显示屏162是相同的。
图3D、3E和3F示出进度显示170、172和174的各实施例。在图3D中,进度显示170示出指示出在执行长时间运行的操作过程中的进度的径向进度指示符。与长时间运行的操作相对应的该异步用户界面显示被显示在由程序110生成的同步显示的顶层上方。
图3E示出包括示出了长时间运行的操作的状态的状态栏176的进度显示172。图3F示出的进度显示174还示出了带有进度指示符178的另一进度显示屏幕,该进度指示符178示出与由程序110调用的同步用户界面线程相对应的一个或多个长时间运行的操作的进度。
一旦异步用户界面显示被生成并被显示在同步用户界面显示的顶层上方,组件116就简单地监视与同步用户界面显示相对应的处理以确定它何时完成。这由图2的框200和202指示。例如,在同步用户界面显示是模式化对话显示的情况下,组件116监视何时接收到了适当的用户交互。这由框204指示。在同步用户界面显示与引导操作相对应的情况下,组件116确定引导操作何时完成。这由框206指示。在同步用户界面显示与长时间运行的操作相对应时,组件116确定长时间运行的操作何时完成。这由框208指示。当然,组件116也可监视其他操作,且这由框210指示。
一旦与同步用户界面显示相对应的处理已经完成,组件116就返回至同步用户界面显示,连同该处理的结果(如果有的话),并且解除对程序110中的用户界面线程的阻塞,以使得程序110中的处理能够继续。这由图2B中的框212和214来指示。解除对UI线程的阻塞可以通过调用适当的API或用任何其他所需的方式来完成。系统100随后继续如常地处理程序110中的代码。这再一次由框128指示。
因此可以看到,甚至是同步UI线程也能够在异步计算环境中被处理。同步程序110同步地等待异步操作。这还使得将单线程常规应用转换成多线程环境变得更容易。
图4是以各种体系结构示出的包括云计算体系结构500的系统100的框图。云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。系统100的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础结构可以通过共享数据中心交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从远程位置处的服务提供者使用云计算架构来提供。可替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置低层硬件基础结构的降低的需求。
公共云由供应商管理,并且通常指示使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由组织本身管理,并且基础结构通常不与其他组织共享。该组织在某种程度上仍然维护着硬件,诸如安装和维修等。
图4中示出的实施例,具体地示出了系统100位于云502(可以是公共的、私有的、或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用户104使用用户设备504通过云502来访问那些系统。
图4还描绘了云体系结构的另一实施例。图4示出还构想了系统100的某些元素被置于云502中而某些元素没有被置于云502中。作为示例,数据存储108可被置于云502外部,并且通过云502来访问。在另一实施例中,系统100的部分或全部组件同样位于云502的外部。无论它们位于哪里,它们都可直接由设备504通过网络(广域网或局域网)访问,它们可由服务主存在远程站点,或者它们可作为服务通过云来提供或通过驻留在云中的连接服务来访问。图4还示出系统100的某些或所有部分可位于设备504上。本文构想了所有这些体系结构。
还要注意,系统100或其部分可被置于各种不同的设备上。这些设备中的某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。
图5是可被用作其中可部署本系统(或其部分)的用户或客户机的手持式设备16的手持式或移动计算设备的一个说明性实施例的简化框图。图6-8(下文讨论的)是手持式或移动设备的示例。
图5提供了客户端设备16的组件的大体框图,该客户端设备16可以运行系统100的组件或者与系统100交互、或二者。在设备16中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的无线连接的802.11和802.11b(WiFi)协议、和蓝牙协议。
根据其他实施例,应用或系统(如系统100)在连接到SD卡接口15的可移动安全数字(SD)卡上被接收。SD卡接口15和通信链路13沿总线19与处理器17(也可实现来自图1的处理器106)进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和定位系统27。
在一个实施例中,提供了I/O组件23以便于输入和输出操作。针对设备16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。
时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地为处理器17提供定时功能。
定位系统27说明性地包括输出设备16的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统、或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其他地理功能的测绘软件或导航软件。
处理器21存储操作系统29、网络设定31、应用33、应用配置设定35、数据存储37、通信驱动程序39以及通信配置设定41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。系统100或数据存储108中的项例如可驻留在存储器21中。类似地,设备16可具有客户端商业系统24,该客户端商业系统可运行各种商业应用或实现系统100的部分或全部。处理器17可以也被其他组件激活以促进它们的功能。
网络设定31的示例包括诸如代理信息、因特网连接信息以及测绘之类的东西。应用配置设定35包括为特定企业或用户定制应用的设定。通信配置设定41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。
应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。
图6示出其中设备16是平板计算机600的一个实施例。在图6中,计算机600被示为具有显示屏602。屏幕602可以是触摸屏(使得来自用户手指604的触摸姿势可以用于与应用交互)或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上虚拟键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附连机制附连到键盘或其他用户输入设备。计算机600还可以说明性地接收语音输入。
图7和8提供了可用的设备16的附加示例,但是也可以使用其他设备。在图7,提供智能电话或移动电话45作为设备16。电话45包括:一组小键盘47,其用于拨打电话号码;显示器49,其能够显示包括应用图像、图标、网页、照片和视频在内的图像;以及控件按钮51,其用于选择在显示器上示出的项目。电话包括天线53,该天线53用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些实施例中,电话45还包括容纳安全数字(SD)卡57的SD卡槽55。
图8的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算机等等(在此称为PDA59)。PDA59包括电感屏61,所述电感屏感测指示笔63(或其他指示器、诸如用户的手指)在该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA59还包括多个用户输入键或按钮(比如按钮65),其允许用户将显示器61上所显示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器61的情况下改变应用或选择用户输入功能。尽管未被示出,但是PDA59可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许对其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来进行的。因此,这些连接是非网络连接。在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。
注意,设备16的其他形式是可能的。
图9是其中可采用(例如)系统100的计算环境的一个实施例。参考图9,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括处理器106)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元821的系统总线820。系统总线821可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局域总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为夹层(Mezzanine)总线的外围组件互连(PCI)总线。参考图1描述的存储器和程序可被部署在图9的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM831中。RAM832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图9示出了操作系统834、应用程序835、其他程序模块836和程序数据837。
计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图9示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器841,从可移动、非易失性磁盘852中读取或向其写入的磁盘驱动器851,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘856中读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。
以上讨论并在图9中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图9中,例如,硬盘驱动器841被示为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程序835、其他程序模块836和程序数据837相同,也可与它们不同。在此操作系统844、应用程序845、其他程序模块846以及程序数据847被给予了不同的编号,以说明至少它们是不同的副本。这些可以是图1或其他附图中示出的程序和组件。
用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器897和打印机896之类的其他外围输出设备,它们可通过输出外围接口895来连接。
计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。图8中所描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但还可包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器871连接到LAN870。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过诸如因特网等WAN873建立通信的其他手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其他适当的机制连接到系统总线821。在联网环境中,相对于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例,而非限制,图9示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (10)

1.一种通过同步程序处理同步用户界面线程的计算机实现的方法,包括:
检测(126)同步程序(110)正在调用同步用户界面显示;
阻塞(140)所述同步用户界面线程;
在所述同步用户界面显示上方显示(142)异步用户界面显示;
检测(200)由所述同步程序(110)进行的与所述同步用户界面显示相对应的处理的完成;
移除(212)对所述异步用户界面显示的显示;以及
解除对所述同步用户界面线程的阻塞(214)。
2.如权利要求1所述的计算机实现的方法,其特征在于,还包括:
在检测所述同步程序正在调用同步用户界面显示之前,检测生成了所述用户界面线程的程序是所述同步程序。
3.如权利要求2所述的计算机实现的方法,其特征在于,还包括:
在检测所述同步程序正在调用同步用户界面显示之后,检测要在所述同步用户界面显示上方显示异步用户界面显示。
4.如权利要求3所述的计算机实现的方法,其特征在于,检测要在所述同步用户界面显示上方显示异步用户界面显示包括:
检测与所述同步用户界面显示相对应的处理的类型;以及
基于检测到的处理的类型来生成所述异步用户界面显示。
5.如权利要求4所述的计算机实现的方法,其特征在于,基于检测到的处理的类型来生成所述异步用户界面显示包括:
当所述处理的类型包括对模式化对话框的处理时,生成异步模式化对话用户界面显示作为所述异步用户界面显示。
6.如权利要求4所述的计算机实现的方法,其特征在于,基于检测到的处理的类型来生成所述异步用户界面显示包括:
当所述处理的类型包括对引导操作的处理时,生成指示所述引导操作正在被执行的异步引导用户界面显示作为所述异步用户界面显示。
7.如权利要求4所述的计算机实现的方法,其特征在于,基于检测到的处理的类型来生成所述异步用户界面显示包括:
当所述处理的类型包括对长时间运行的操作的处理时,生成指示在执行所述长时间运行的操作中的进度的异步进度用户界面显示作为所述异步用户界面显示。
8.如权利要求4所述的计算机实现的方法,其特征在于,所述同步用户界面显示正在请求输入值,并且显示所述异步用户界面显示包括:
显示所述异步用户界面显示以请求所述输入值;以及
通过所述异步用户界面显示来接收所述输入值。
9.如权利要求8所述的计算机实现的方法,其特征在于,移除对所述异步用户界面显示的显示包括:
返回至带有通过所述异步用户界面显示接收到的所述输入值的所述同步用户界面显示。
10.一种计算系统,包括:
同步用户界面线程处理组件(116),检测同步程序(110)正在调用同步用户界面显示,并且在所述同步用户界面显示的顶层上方显示(142)异步用户界面显示,直到所述同步程序已经完成对所述同步用户界面显示的处理;以及
计算机处理器(106),作为所述系统的功能部件并且由所述同步用户界面线程处理组件(116)激活以促进检测所述同步用户界面显示的调用并且在所述同步用户界面显示的顶层上方显示所述异步用户界面显示。
CN201310213722.0A 2012-06-01 2013-05-31 多顶层用户界面显示 Active CN103412740B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261654127P 2012-06-01 2012-06-01
US61/654,127 2012-06-01
US13/606,017 US8990818B2 (en) 2012-06-01 2012-09-07 Multiple top level user interface displays
US13/606,017 2012-09-07

Publications (2)

Publication Number Publication Date
CN103412740A true CN103412740A (zh) 2013-11-27
CN103412740B CN103412740B (zh) 2016-09-14

Family

ID=48614196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213722.0A Active CN103412740B (zh) 2012-06-01 2013-05-31 多顶层用户界面显示

Country Status (1)

Country Link
CN (1) CN103412740B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027778A (zh) * 2016-05-13 2016-10-12 Tcl移动通信科技(宁波)有限公司 一种移动终端开机界面的显示方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10196A (en) * 1853-11-01 Beehive
US7681237B1 (en) * 2004-05-13 2010-03-16 Symantec Corporation Semi-synchronous scanning of modified files in real time
EP2400725A1 (en) * 2010-06-24 2011-12-28 Sap Ag User interface communication
US20120072910A1 (en) * 2010-09-03 2012-03-22 Time Warner Cable, Inc. Methods and systems for managing a virtual data center with embedded roles based access control
CN102449602A (zh) * 2009-04-03 2012-05-09 谷歌公司 用于降低软件应用的启动成本的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10196A (en) * 1853-11-01 Beehive
US7681237B1 (en) * 2004-05-13 2010-03-16 Symantec Corporation Semi-synchronous scanning of modified files in real time
CN102449602A (zh) * 2009-04-03 2012-05-09 谷歌公司 用于降低软件应用的启动成本的系统和方法
EP2400725A1 (en) * 2010-06-24 2011-12-28 Sap Ag User interface communication
US20120072910A1 (en) * 2010-09-03 2012-03-22 Time Warner Cable, Inc. Methods and systems for managing a virtual data center with embedded roles based access control

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘丁峰: "基于SWT的多线程解决方案", 《软件导刊》, vol. 8, no. 11, 30 November 2009 (2009-11-30) *
闫伟等: "多线程技术在android手机开发中的应用", 《信息通信》, no. 1, 15 February 2012 (2012-02-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027778A (zh) * 2016-05-13 2016-10-12 Tcl移动通信科技(宁波)有限公司 一种移动终端开机界面的显示方法及系统
CN106027778B (zh) * 2016-05-13 2019-09-24 Tcl移动通信科技(宁波)有限公司 一种移动终端开机界面的显示方法及系统

Also Published As

Publication number Publication date
CN103412740B (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
KR102471289B1 (ko) 애플리케이션 또는 애플리케이션 기능을 빠르게 열기 위한 방법, 및 단말
JP5956725B2 (ja) コンテキスト認識型ヘルプ・コンテンツを提供する方法、デバイス、及びコンピュータ・プログラム製品
CN105723337B (zh) 用于从交互式开发环境递增地编译软件制品的方法和系统
EP2642382A1 (en) Method of enabling voice input for a visually based interface
US10691427B2 (en) Method and apparatus reusing listcell in hybrid application
CN102981820A (zh) 移动应用上的页面的自动生存期管理
CN106605234B (zh) 使用近场通信与许可控制共享内容
CN105264492B (zh) 系统行为的自动发现
CN107710157A (zh) 多租户、租户特定的应用程序
CN105229634A (zh) 数据迁移框架
CN106104459A (zh) 表单上自适应的基于键的导航
CN109564512A (zh) 通过消息传送机器人与文件存储服务的交互
US20200341617A1 (en) Program Orchestration Method and Electronic Device
CN102841680A (zh) 触觉主题构造
US20140095659A1 (en) Method and system for transmitting data, and method and electronic device therefor
CN105637813A (zh) 当将人员添加至会话时授予对对象的许可
KR102413396B1 (ko) 웹푸시를 이용한 푸시 서비스 제공 방법 및 이를 지원하는 전자 장치
CN104272254A (zh) 用户界面web服务
CN105229614A (zh) 多承租人数据中心内的诊断存储
CN105408922A (zh) 过程流基础结构和配置界面
CN110168509A (zh) 集成应用问题检测和改正控制
CN102982569A (zh) 在可编辑和不可编辑向导之间进行区分
CN105393213A (zh) 便携式业务逻辑
CN106062689A (zh) 知晓上下文的命令
CN103412740A (zh) 多顶层用户界面显示

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1189678

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1189678

Country of ref document: HK