A system for efficient text entry to a terminal device comprising a touch screen, the system comprising: a touch detection module, configured to detect whether a press on the touch screen or a lift therefrom occur, wherein the touch detection module is configured to, upon detecting the lift, determine whether the press and the lift constitute a tap by determining whether the press and the lift respectively occur on an area corresponding to the same character and whether a time interval between the press and the lift is within a predetermined time interval; a thread management module, configured to maintain a main thread, initiate an auxiliary thread for the press when it is detected by the touch detection module, and terminate the auxiliary thread when the touch detection module detects the lift; a search module, configured to, in the auxiliary thread, based on an area where the press occurs, perform a search in a dictionary for an entered character and/or candidate words corresponding to the area; and an output module, configured to output the entered character and/or candidate words resulting from the search performed by the search module upon the touch detection module determining that the press and the lift constitute a tap, and discard the result of the search performed by the search module if the touch detection module determines that the detected press and the lift do not constitute a tap, characterized in that the touch detection module is further configured to, in response to successively detecting a first press, a second press, and a lift corresponding to the second press before a lift corresponding to the first press is detected, generate a simulated lift signal for the first press and send it to an auxiliary thread initiated by the thread management module for the first press. a touch detection module, configured to detect whether a press on the touch screen or a lift therefrom occur, wherein the touch detection module is configured to, upon detecting the lift, determine whether the press and the lift constitute a tap by determining whether the press and the lift respectively occur on an area corresponding to the same character and whether a time interval between the press and the lift is within a predetermined time interval; a thread management module, configured to maintain a main thread, initiate an auxiliary thread for the press when it is detected by the touch detection module, and terminate the auxiliary thread when the touch detection module detects the lift; a search module, configured to, in the auxiliary thread, based on an area where the press occurs, perform a search in a dictionary for an entered character and/or candidate words corresponding to the area; and an output module, configured to output the entered character and/or candidate words resulting from the search performed by the search module upon the touch detection module determining that the press and the lift constitute a tap, and discard the result of the search performed by the search module if the touch detection module determines that the detected press and the lift do not constitute a tap, characterized in that the touch detection module is further configured to, in response to successively detecting a first press, a second press, and a lift corresponding to the second press before a lift corresponding to the first press is detected, generate a simulated lift signal for the first press and send it to an auxiliary thread initiated by the thread management module for the first press.