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

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

Info

Publication number
CN109308215B
CN109308215B CN201710629312.2A CN201710629312A CN109308215B CN 109308215 B CN109308215 B CN 109308215B CN 201710629312 A CN201710629312 A CN 201710629312A CN 109308215 B CN109308215 B CN 109308215B
Authority
CN
China
Prior art keywords
fiber
external event
input information
program
user
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.)
Active
Application number
CN201710629312.2A
Other languages
English (en)
Other versions
CN109308215A (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 Co Ltd
Original Assignee
Glodon Co Ltd
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 Co Ltd filed Critical Glodon Co Ltd
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

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/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 (6)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
CN106980546A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种任务异步执行方法、装置及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136047B (zh) * 2011-11-30 2016-08-17 大唐联诚信息***技术有限公司 一种多线程管理方法及架构
US10346195B2 (en) * 2012-12-29 2019-07-09 Intel Corporation Apparatus and method for invocation of a multi threaded accelerator
CN106844017B (zh) * 2015-12-03 2021-07-06 阿里巴巴集团控股有限公司 用于网站服务器处理事件的方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
CN106980546A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 一种任务异步执行方法、装置及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Programming with Concurrency: Threads, Actors, and Coroutines;Zhen Li et al.;《2013 IEEE 27th International Symposium on Parallel & Distributed Processing Workshops and PhD Forum》;20130520;第1304-1311页 *
Python黑魔法 --- 异步IO(asyncio)协程;人世间;《Python黑魔法——异步IO(asyncio)协程-简书(https://www.jianshu.com/p/b5e347b3a17c)》;20170117;第1-25页 *
基于协程模型的分布式爬虫框架;杨济运 等;《计算技术与自动化》;20140930;第33卷(第3期);第126-133页 *

Also Published As

Publication number Publication date
CN109308215A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
KR100714710B1 (ko) 입출력 작업에 의해 블로킹된 스레드를 강제 종료하는 장치및 방법
US10007551B2 (en) Techniques for switching threads within routines
CN102027447B (zh) 调度器中的局部任务集合
EP3425849A1 (en) State control method and device
CN100570564C (zh) 将用户模式线程配置为接近禁止中断优先级的方法和***
CN110603527B (zh) 用于服务器侧生产代码的条件调试的方法、***和设备
CN110806923A (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
WO2003007105A2 (en) Computer multi-tasking via virtual threading
CN103080858A (zh) 安全控制装置及安全控制方法
CN104424037B (zh) 一种动态补丁函数的方法及装置
KR101458028B1 (ko) 병렬 처리 장치 및 방법
CN102567090A (zh) 在计算机处理器中创建执行线程的方法和***
CN105183547A (zh) 一种用户界面的任务调度方法和装置
CN111695827A (zh) 业务流程的管理方法、装置、电子设备及存储介质
CN104391754A (zh) 一种任务异常的处理方法及装置
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
CN102047217A (zh) 重新获取对执行外部执行上下文的处理资源的控制
CN109308215B (zh) 一种基于纤程的交互方法、交互***及计算机装置
JP2007079969A (ja) デバッグシステム及び方法
CN105474174A (zh) 控制时间密集的指令
CN112540871A (zh) 通用寄存器保留恢复的实现方法
CN112346390B (zh) 光模块控制方法、装置、设备及计算机可读存储介质
CN115981962A (zh) 线程池监控方法、装置、电子设备及存储介质
US9396044B2 (en) Memory efficient thread-level speculation
CN112650490B (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