CN109308215A - 一种基于纤程的交互方法、交互***及计算机装置 - Google Patents

一种基于纤程的交互方法、交互***及计算机装置 Download PDF

Info

Publication number
CN109308215A
CN109308215A CN201710629312.2A CN201710629312A CN109308215A CN 109308215 A CN109308215 A CN 109308215A CN 201710629312 A CN201710629312 A CN 201710629312A CN 109308215 A CN109308215 A CN 109308215A
Authority
CN
China
Prior art keywords
fine journey
fine
journey
external event
input information
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
CN201710629312.2A
Other languages
English (en)
Other versions
CN109308215B (zh
Inventor
王晓宇
赵恺
岳亮
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.)
Glodon Polytron Technologies Inc
Original Assignee
Glodon Polytron Technologies Inc
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
Application filed by Glodon Polytron Technologies Inc filed Critical Glodon Polytron Technologies Inc
Priority to CN201710629312.2A priority Critical patent/CN109308215B/zh
Publication of CN109308215A publication Critical patent/CN109308215A/zh
Application granted granted Critical
Publication of CN109308215B publication Critical patent/CN109308215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种基于纤程的交互方法、交互***、计算机装置及计算机可读存储介质,基于纤程的交互方法包括:在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;根据输入信息对应的外部事件,确定返回纤程或停止执行纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。

Description

一种基于纤程的交互方法、交互***及计算机装置
技术领域
本发明涉及交互***技术领域,具体而言,涉及一种基于纤程的交互方法、交互***、计算机装置及计算机可读存储介质。
背景技术
命令交互***在桌面软件中是不可或缺的,但相关技术中的命令交互***采用事件触发的机制,命令过程的编码散落在多个外部事件的处理流程中,编写和维护都非常不便。通过多线程技术虽然可以使得命令过程独立出来,但操作***对多线程有天然的限制,即子线程不能访问界面组件,而界面组件的访问在命令流程中又普遍存在。并且相关技术中的命令交互***还具有以下缺点:
1)编码不集中,整个命令过程的编码分散在若干个事件处理函数之中,而每个事件处理函数又要考虑在不同步骤状态下的处理情况,程序员为完成一个命令过程的编码,需要在这些分支下来回切换,影响开发效率,且容易遗漏处理场景。
2)维护成本高,命令过程开发完成后,如果需求场景有变动,比如增加了一个交互步骤,开发人员需要在所有的事件处理函数中考虑这个步骤带来的影响,进行相应的修改。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种基于纤程的交互方法。
本发明的另一个目的在于提出了一种基于纤程的交互***。
本发明的再一个目的在于提出了一种计算机装置。
本发明的又一个目的在于提出了一种计算机可读存储介质。
有鉴于此,根据本发明的一个目的,提出了一种基于纤程的交互方法,包括:在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;根据输入信息对应的外部事件,确定返回纤程或停止执行纤程。
本发明提供的基于纤程的交互方法,创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
根据本发明的上述基于纤程的交互方法,还可以具有以下技术特征:
在上述技术方案中,优选地,根据输入信息对应的外部事件,确定返回纤程或停止执行纤程的步骤,具体包括:判断外部事件是否作用于纤程;当外部事件作用于纤程时,返回纤程,并由纤程命令处理外部事件;当外部事件未作用于纤程时,停止执行纤程。
在该技术方案中,判断该外部事件是否作用于纤程,若作用于纤程则返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,由此可以允许程序员对多纤程任务进行完全自定义的调度和控制,适应多场景变动,便于程序员的研发。
在上述任一技术方案中,优选地,在由纤程处理外部事件之后,还包括:再次接收用户的输入信息;或当判断纤程执行完成时,结束纤程。
在该技术方案中,在由纤程执行外部事件后,在判断该纤程执行完成时退出纤程,或在继续执行纤程时若又接收到用户输入信息,则再次返回主程序。
在上述任一技术方案中,优选地,在纤程执行的过程之前,还包括:建立运行空间。
在该技术方案中,首先为用户交互过程单独建立运行空间,能够使得命令过程的编码集中而且连贯,能够提高开发效率,且避免遗漏处理场景。
根据本发明的另一个目的,提出了一种基于纤程的交互***,包括:切换单元,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;处理单元,用于根据输入信息对应的外部事件,确定返回纤程或停止执行纤程。
本发明提供的基于纤程的交互***,创建运行空间后,执行纤程,在执行纤程过程中,当切换单元接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,处理单元根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
根据本发明的上述基于纤程的交互***,还可以具有以下技术特征:
在上述技术方案中,优选地,还包括:第一判断单元,用于判断外部事件是否作用于纤程;处理单元,用于当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;以及当外部事件未作用于纤程时,停止执行纤程。
在该技术方案中,第一判断单元判断该外部事件是否作用于纤程,若作用于纤程则通过处理单元返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,由此可以允许程序员对多纤程任务进行完全自定义的调度和控制,适应多场景变动,便于程序员的研发。
在上述任一技术方案中,优选地,还包括:接收单元,用于在由纤程处理外部事件之后,再次接收用户的输入信息;处理单元,还用于在由纤程处理外部事件之后,当判断纤程执行完成时,结束纤程。
在该技术方案中,在由纤程执行外部事件后,在判断该纤程执行完成时,处理单元退出纤程,或在继续执行纤程时若接收单元又接收到用户输入信息,则再次返回主程序。
在上述任一技术方案中,优选地,还包括:建立单元,用于建立运行空间。
在该技术方案中,首先通过建立单元为用户交互过程单独建立运行空间,能够使得命令过程的编码集中而且连贯,能够提高开发效率,且避免遗漏处理场景。
根据本发明的再一个目的,提出了一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项的基于纤程的交互方法的步骤。
本发明提供的计算机装置,处理器执行计算机程序时实现创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
根据本发明的又一个目的,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的基于纤程的交互方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的一个实施例的基于纤程的交互方法的流程示意图;
图2示出了本发明的另一个实施例的基于纤程的交互方法的流程示意图;
图3示出了本发明的再一个实施例的基于纤程的交互方法的流程示意图;
图4示出了本发明的又一个实施例的基于纤程的交互方法的流程示意图;
图5示出了本发明的一个实施例的基于纤程的交互***的示意框图;
图6示出了本发明的另一个实施例的基于纤程的交互***的示意框图;
图7示出了本发明的再一个实施例的基于纤程的交互***的示意框图;
图8示出了本发明的一个实施例的基于纤程的交互***的示意框图;
图9示出了本发明的一个实施例的计算机装置的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
本发明第一方面的实施例,提出一种基于纤程的交互方法,图1示出了本发明的一个实施例的基于纤程的交互方法的流程示意图。其中,该方法包括:
步骤102,在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
步骤104,根据输入信息对应的外部事件,确定返回纤程或停止执行纤程。
本发明提供的基于纤程的交互方法,创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
图2示出了本发明的另一个实施例的基于纤程的交互方法的流程示意图。其中,该方法包括:
步骤202,在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
步骤204,判断外部事件是否作用于纤程;
步骤206,当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;
步骤208,当外部事件未作用于纤程时,停止执行纤程。
在该实施例中,创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。判断该外部事件是否作用于纤程,若作用于纤程则返回纤程由纤程处理该外部事件,若不作用于纤程则停止执行纤程,由此可以允许程序员对多纤程任务进行完全自定义的调度和控制,适应多场景变动,便于程序员的研发。
图3示出了本发明的再一个实施例的基于纤程的交互方法的流程示意图。其中,该方法包括:
步骤302,在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
步骤304,判断外部事件是否作用于纤程;
步骤306,当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;
步骤308,当外部事件未作用于纤程时,停止执行纤程;
步骤310,在由纤程处理外部事件之后,再次接收用户的输入信息;或当判断纤程执行完成时,结束纤程。
在该实施例中,创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。判断该外部事件是否作用于纤程,若作用于纤程则返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,在由纤程执行外部事件后,在判断该纤程执行完成时退出纤程,或在继续执行纤程时若又接收到用户输入信息,则再次返回主程序。
图4示出了本发明的又一个实施例的基于纤程的交互方法的流程示意图。其中,该方法包括:
步骤402,建立运行空间;
步骤404,在纤程执行的过程中,在接收到用户的输入信息时,切换至主任务;
步骤406,判断外部事件是否作用于纤程;
步骤408,当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;
步骤410,当外部事件未作用于纤程时,停止执行纤程;
步骤412,在由纤程处理外部事件之后,再次接收用户的输入信息;或当判断纤程执行完成时,结束纤程。
在该实施例中,首先为用户交互过程单独建立运行空间,创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。判断该外部事件是否作用于纤程,若作用于纤程则返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,在由纤程执行外部事件后,在判断该纤程执行完成时退出纤程,或在继续执行纤程时若又接收到用户输入信息,则再次返回主程序,能够使得命令过程的编码集中而且连贯,能够提高开发效率,且避免遗漏处理场景。
本发明第二方面的实施例,提出一种基于纤程的交互***,图5示出了本发明的一个实施例的基于纤程的交互***500的示意框图。其中,该***包括:
切换单元502,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
处理单元504,用于根据输入信息对应的外部事件,确定返回纤程或停止执行纤程。
本发明提供的基于纤程的交互***500,创建运行空间后,执行纤程,在执行纤程过程中,当切换单元502接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,处理单元504根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
图6示出了本发明的另一个实施例的基于纤程的交互***600的示意框图。其中,该***包括:
切换单元602,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
处理单元604,用于根据输入信息对应的外部事件,确定返回纤程或停止执行纤程;
基于纤程的交互***600还包括:
第一判断单元606,用于判断外部事件是否作用于纤程;
处理单元604,用于当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;以及当外部事件未作用于纤程时,停止执行纤程。
在该实施例中,创建运行空间后,执行纤程,在执行纤程过程中,当切换单元602接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,处理单元604根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。第一判断单元606判断该外部事件是否作用于纤程,若作用于纤程则通过处理单元604返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,由此可以允许程序员对多纤程任务进行完全自定义的调度和控制,适应多场景变动,便于程序员的研发。
图7示出了本发明的再一个实施例的基于纤程的交互***700的示意框图。其中,该***包括:
切换单元702,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
处理单元704,用于根据输入信息对应的外部事件,确定返回纤程或停止执行纤程;
第一判断单元706,用于判断外部事件是否作用于纤程;
处理单元704,用于当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;以及当外部事件未作用于纤程时,停止执行纤程;
基于纤程的交互***700还包括:
接收单元708,用于在由纤程处理外部事件之后,再次接收用户的输入信息;
处理单元704,还用于在由纤程处理外部事件之后,当判断纤程执行完成时,结束纤程。
在该实施例中,创建运行空间后,执行纤程,在执行纤程过程中,当切换单元702接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,处理单元704根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。第一判断单元706判断该外部事件是否作用于纤程,若作用于纤程则通过处理单元704返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,在由纤程执行外部事件后,并在判断该纤程执行完成时,处理单元704退出纤程,或在继续执行纤程时若接收单元708又接收到用户输入信息,则再次返回主程序。
图8示出了本发明的又一个实施例的基于纤程的交互***800的示意框图。其中,该***包括:
切换单元802,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
处理单元804,用于根据输入信息对应的外部事件,确定返回纤程或停止执行纤程;
第一判断单元806,用于判断外部事件是否作用于纤程;
处理单元804,用于当外部事件作用于纤程时,返回纤程,并由纤程处理外部事件;以及当外部事件未作用于纤程时,停止执行纤程;
接收单元808,用于在由纤程处理外部事件之后,再次接收用户的输入信息;
处理单元804,还用于在由纤程处理外部事件之后,当判断纤程执行完成时,结束纤程;
基于纤程的交互***800还包括:
建立单元810,用于建立运行空间。
在该实施例中,首先通过建立单元810为用户交互过程单独建立运行空间,能够使得命令过程的编码集中而且连贯,创建运行空间后,执行纤程,在执行纤程过程中,当切换单元802接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,处理单元804根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。第一判断单元806判断该外部事件是否作用于纤程,若作用于纤程则通过处理单元804返回纤程并由纤程处理该外部事件,若不作用于纤程则停止执行纤程,在由纤程执行外部事件后,并在判断该纤程执行完成时,处理单元804退出纤程,或在继续执行纤程时若接收单元808又接收到用户输入信息,则再次返回主程序,能够提高开发效率,且避免遗漏处理场景。
本发明第三方面的实施例,提出一种计算机装置,图9示出了本发明的一个实施例的计算机装置900的示意框图。其中,该计算机装置包括:
存储器902、处理器904及存储在存储器902上并可在处理器904上运行的计算机程序,处理器904执行计算机程序时实现上述任一项的基于纤程的交互方法的步骤。
本发明提供的计算机装置900,处理器904执行计算机程序时实现创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
本发明第四方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的基于纤程的交互方法的步骤。
本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现创建运行空间后,执行纤程,在执行纤程过程中,当接收到用户输入信息时,切换至主任务响应输入信息对应的外部事件,根据外部事件的内容确定将该外部事件交由纤程处理或者是结束纤程。通过纤程可以使命令交互过程的流程独立出来,按照命令交互过程集中编码,大大提高了命令过程开发效率,降低了代码维护成本。其中,纤程也叫协程,是拥有独立状态栈的程序组件,纤程在用户空间的管理中,操作***对其存在一无所知。
纤程技术通过为用户交互过程单独开辟一个运行空间,使得命令过程的编码集中而且连贯。在需要用户输入信息时,阻塞命令纤程的执行,回到主任务以响应鼠标键盘等外部事件,如果外部事件对命令过程有效,则切回命令纤程继续命令后续流程,如此直到命令过程结束或者下一个阻塞调用。以用户通过两个点绘制一条直线的命令过程为例,引入纤程技术后的命令交互***的处理流程如下:
1.由用户选择一个点,
(1)如果用户确定,则记录这个点;
(2)否则退出命令过程。
2.由用户选择第二个点,选点过程中绘制临时线,
(1)如果用户确定,则画线过程完毕;
(2)如果用户右键回退,则回到步骤1;
(3)如果用户ESC按键取消,则退出命令过程。
通过纤程技术使得命令交互过程编码集中,且与用户思维逻辑一致,便于开发和维护。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于纤程的交互方法,其特征在于,包括:
在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
根据所述输入信息对应的外部事件,确定返回所述纤程或停止执行所述纤程。
2.根据权利要求1所述的基于纤程的交互方法,其特征在于,所述根据所述输入信息对应的外部事件,确定返回所述纤程或停止执行所述纤程的步骤,具体包括:
判断所述外部事件是否作用于所述纤程;
当所述外部事件作用于所述纤程时,返回所述纤程,并由所述纤程处理所述外部事件;
当所述外部事件未作用于所述纤程时,停止执行所述纤程。
3.根据权利要求2所述的基于纤程的交互方法,其特征在于,在由所述纤程处理所述外部事件之后,还包括:
再次接收所述用户的输入信息;或
当判断所述纤程执行完成时,结束所述纤程。
4.根据权利要求1所述的基于纤程的交互方法,其特征在于,在所述纤程执行的过程之前,还包括:
建立运行空间。
5.一种基于纤程的交互***,其特征在于,包括:
切换单元,用于在纤程执行的过程中,当接收到用户的输入信息时,切换至主任务;
处理单元,用于根据所述输入信息对应的外部事件,确定返回所述纤程或停止执行所述纤程。
6.根据权利要求5所述的基于纤程的交互***,其特征在于,还包括:
第一判断单元,用于判断所述外部事件是否作用于所述纤程;
所述处理单元,用于当所述外部事件作用于所述纤程时,返回所述纤程,并由所述纤程处理所述外部事件;以及
当所述外部事件未作用于所述纤程时,停止执行所述纤程。
7.根据权利要求6所述的基于纤程的交互***,其特征在于,还包括:
接收单元,用于在由所述纤程处理所述外部事件之后,再次接收所述用户的输入信息;或
所述处理单元,还用于在由所述纤程处理所述外部事件之后,当判断所述纤程执行完成时,结束所述纤程。
8.根据权利要求5所述的基于纤程的交互***,其特征在于,还包括:建立单元,用于建立运行空间。
9.一种计算机装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的基于纤程的交互方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于纤程的交互方法的步骤。
CN201710629312.2A 2017-07-28 2017-07-28 一种基于纤程的交互方法、交互***及计算机装置 Active CN109308215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710629312.2A CN109308215B (zh) 2017-07-28 2017-07-28 一种基于纤程的交互方法、交互***及计算机装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710629312.2A CN109308215B (zh) 2017-07-28 2017-07-28 一种基于纤程的交互方法、交互***及计算机装置

Publications (2)

Publication Number Publication Date
CN109308215A true CN109308215A (zh) 2019-02-05
CN109308215B CN109308215B (zh) 2022-05-24

Family

ID=65205039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710629312.2A Active CN109308215B (zh) 2017-07-28 2017-07-28 一种基于纤程的交互方法、交互***及计算机装置

Country Status (1)

Country Link
CN (1) CN109308215B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136047A (zh) * 2011-11-30 2013-06-05 大唐联诚信息***技术有限公司 一种多线程管理方法及架构
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
CN104937541A (zh) * 2012-12-29 2015-09-23 英特尔公司 用于调用多线程加速器的装置和方法
CN106844017A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 用于网站服务器处理事件的方法和设备
CN106980546A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种任务异步执行方法、装置及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136047A (zh) * 2011-11-30 2013-06-05 大唐联诚信息***技术有限公司 一种多线程管理方法及架构
CN104937541A (zh) * 2012-12-29 2015-09-23 英特尔公司 用于调用多线程加速器的装置和方法
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
CN106844017A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 用于网站服务器处理事件的方法和设备
CN106980546A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种任务异步执行方法、装置及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHEN LI ET AL.: "Programming with Concurrency: Threads, Actors, and Coroutines", 《2013 IEEE 27TH INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING WORKSHOPS AND PHD FORUM》 *
人世间: "Python黑魔法 --- 异步IO(asyncio)协程", 《PYTHON黑魔法——异步IO(ASYNCIO)协程-简书(HTTPS://WWW.JIANSHU.COM/P/B5E347B3A17C)》 *
杨济运 等: "基于协程模型的分布式爬虫框架", 《计算技术与自动化》 *

Also Published As

Publication number Publication date
CN109308215B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
Nygaard et al. The development of the SIMULA languages
US20190279197A1 (en) Systems and methods for implementing deterministic finite automata (dfas) via a blockchain
CN102257469B (zh) 存储***及用于控制存储***的方法
CN100410872C (zh) 用于增强的运行时间主机支持的方法和设备
CN108139908A (zh) 移动前缀指令
CN107357586B (zh) 应用程序的控制方法、装置及设备
CN103885719B (zh) 虚拟机***在线存储迁移的方法、***与装置
US20170010789A1 (en) Emphasis for sharing application portion
Ågotnes et al. Normative system games
WO2017004474A1 (en) Application spawning responsive to communication
CN1950775B (zh) 用于程序执行期间的入侵检测的方法,设备和计算机***
CN111061981A (zh) 页面管理方法、装置、存储介质及电子设备
CN109308215A (zh) 一种基于纤程的交互方法、交互***及计算机装置
Baral et al. Reasoning about intended actions
Mellouli et al. Laying down the foundations of an agent modelling methodology for fault-tolerant multi-agent systems
Alves et al. Runners, repeaters, strangers and aliens: Operationalising efficient output disclosure control
CN104615409B (zh) 跳越mov指令的处理器和由该处理器使用的方法
CN109614263A (zh) 一种容灾数据处理方法、装置及***
CN109240811A (zh) 一种任务执行方法和装置
Bucchiarone et al. CAptLang: a language for context-aware and adaptable business processes
CN107391539A (zh) 事务处理方法、服务器和存储介质
CN109801166A (zh) 一种基于状态锁的智能合约的安全函数的设计方法及***
CN108874504A (zh) 一种多虚拟化平台的管理方法及装置
CN100426241C (zh) 一种面向服务体系结构中消息层软中断处理方法
CN109116999A (zh) 适用于多应用切换的快捷用语输入方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant