[go: up one dir, main page]

CN113342505A - Thread identification method, thread identification device, storage medium and electronic equipment - Google Patents

Thread identification method, thread identification device, storage medium and electronic equipment Download PDF

Info

Publication number
CN113342505A
CN113342505A CN202110753560.4A CN202110753560A CN113342505A CN 113342505 A CN113342505 A CN 113342505A CN 202110753560 A CN202110753560 A CN 202110753560A CN 113342505 A CN113342505 A CN 113342505A
Authority
CN
China
Prior art keywords
thread
identified
data
key
application
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
CN202110753560.4A
Other languages
Chinese (zh)
Other versions
CN113342505B (en
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110753560.4A priority Critical patent/CN113342505B/en
Publication of CN113342505A publication Critical patent/CN113342505A/en
Application granted granted Critical
Publication of CN113342505B publication Critical patent/CN113342505B/en
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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种线程识别方法、线程识别装置、计算机可读存储介质与电子设备,涉及计算机技术领域。所述线程识别方法包括:获取当前运行的应用程序的待识别线程;根据所述应用程序的静态信息和动态信息,统计所述待识别线程在预设时间段内的线程特征数据;基于所述线程特征数据对所述待识别线程进行识别,确定所述待识别线程是否为关键线程。本公开能够对应用程序的线程进行准确、有效的识别,以保证对其进行合理的资源分配。

Figure 202110753560

The present disclosure provides a thread identification method, a thread identification device, a computer-readable storage medium and an electronic device, and relates to the technical field of computers. The thread identification method includes: acquiring a thread to be identified of a currently running application; counting thread feature data of the thread to be identified within a preset time period according to static information and dynamic information of the application; The thread feature data identifies the thread to be identified, and determines whether the thread to be identified is a key thread. The present disclosure can accurately and effectively identify the threads of an application program to ensure reasonable resource allocation.

Figure 202110753560

Description

Thread identification method, thread identification device, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a thread identification method, a thread identification apparatus, a computer-readable storage medium, and an electronic device.
Background
In modern operating systems, in order to improve the operating efficiency of application programs, multi-thread operation of application degrees is gradually and normally developed. And as the number of threads running simultaneously increases gradually, the problem of resource robbery among the threads occurs.
In the prior art, certain rules, such as a scheduling mechanism, are usually set by a system or manually, so as to preset the requirements of different threads and allocate resources to the threads according to the requirements. However, in this way, the situation of resource allocation is always rigid, flexible update cannot be performed according to the running situation or the working situation of the thread in the actual application, and for different application programs or processes, an important thread may still face the risk of resource preemption, thereby causing performance problems such as seizure and tone jamming and affecting user experience.
Therefore, how to identify threads with different importance degrees by adopting an effective and accurate method to reasonably allocate resources is an urgent problem to be solved in the prior art.
Disclosure of Invention
The present disclosure provides a thread identification method, a thread identification device, a computer-readable storage medium, and an electronic device, so as to at least improve the problem that the prior art lacks effective identification of threads with different importance degrees, and ensure reasonable resource allocation.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the present disclosure, there is provided a thread identification method, including: acquiring a thread to be identified of a currently running application program; according to the static information and the dynamic information of the application program, counting the thread characteristic data of the thread to be identified in a preset time period; and identifying the thread to be identified based on the thread characteristic data, and determining whether the thread to be identified is a key thread.
According to a second aspect of the present disclosure, there is provided a thread identifying apparatus including: the thread to be identified acquisition module is used for acquiring a thread to be identified of a currently running application program; the thread characteristic data counting module is used for counting the thread characteristic data of the thread to be identified in a preset time period according to the static information and the dynamic information of the application program; and the thread to be identified identification module is used for identifying the thread to be identified based on the thread characteristic data and determining whether the thread to be identified is a key thread.
According to a third aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the thread identification method of the first aspect described above and possible implementations thereof.
According to a fourth aspect of the present disclosure, there is provided an electronic device comprising: a processor; a memory for storing executable instructions of the processor. Wherein the processor is configured to perform the thread identification method of the first aspect and possible implementations thereof via execution of the executable instructions.
The technical scheme of the disclosure has the following beneficial effects:
acquiring a thread to be identified of a currently running application program; according to the static information and the dynamic information of the application program, counting the thread characteristic data of the thread to be identified in a preset time period; and identifying the thread to be identified based on the thread characteristic data, and determining whether the thread to be identified is a key thread. On one hand, the exemplary embodiment provides a new thread identification method, which can directly determine the identification result of the thread to be identified by processing the thread characteristic data, has simple and convenient flow, and can realize the rapid and accurate distinction of threads with different importance degrees, thereby facilitating the reasonable resource allocation of the threads; on the other hand, the thread characteristic data is related to the running state parameters of the application program, so that the thread characteristic data to be counted can be determined in a targeted manner according to the actual running condition and the requirement of the application program, and the effectiveness of the thread characteristic data is ensured; on the other hand, the thread feature data is statistical data obtained in a preset time period, and different thread feature data may be obtained in different preset time periods, so that it is further ensured that the exemplary embodiment can effectively and accurately identify the thread to be identified related to the current application program according to a specific thread running condition, and has strong timeliness.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
FIG. 1 shows a schematic diagram of a system architecture in the present exemplary embodiment;
fig. 2 is a block diagram showing an electronic apparatus in the present exemplary embodiment;
FIG. 3 illustrates a flow chart of a method of thread identification in the present exemplary embodiment;
FIG. 4 is an architectural diagram illustrating a thread identification method in the exemplary embodiment;
FIG. 5 illustrates a sub-flow diagram of a method of thread identification in the present exemplary embodiment;
FIG. 6 is a diagram illustrating the wake relationships between different threads in the exemplary embodiment;
FIG. 7 illustrates a sub-flow diagram of another method of thread identification in the exemplary embodiment;
FIG. 8 illustrates a flow chart of another method of thread identification in the exemplary embodiment;
fig. 9 shows a block diagram of a thread identifying apparatus in the present exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Exemplary embodiments of the present disclosure provide a thread identification method. FIG. 1 shows a system architecture diagram of an environment in which the exemplary embodiment operates. As shown in fig. 1, the system architecture 100 may include a user terminal 110 and a server 120, which form communication interaction with each other through a network, for example, the server 120 may obtain thread data of an application program in the user terminal 110 through the network, and may also send an identification result of a thread to be identified to the user terminal 110. The user terminal 110 refers to a terminal device installed with an application program, and includes but is not limited to a smart phone, a tablet computer, a game machine, a wearable device, and the like; the server 120 refers to a background server providing internet services.
It should be understood that the number of devices in fig. 1 is merely exemplary. Any number of user terminals or servers can be provided according to actual needs.
The thread identification method provided by the embodiment of the present disclosure may be executed by the user terminal 110, for example, the user terminal 110 performs statistics on the to-be-processed thread related to the currently running application program, and then identifies the to-be-identified thread; or the user terminal 110 may first perform statistics on the to-be-identified thread related to the currently running application program, send the statistics to the server 120, identify the to-be-identified thread by the server 120, and return the identification result to the user terminal 110, so as to reduce the amount of calculation of the user terminal 110, and the like.
The exemplary embodiment of the present disclosure provides an electronic device for implementing a thread recognition method, which may be the user terminal 110 or the server 120 in fig. 1. The electronic device includes at least a processor and a memory for storing executable instructions of the processor, the processor being configured to perform the thread identification method via execution of the executable instructions.
The structure of the electronic device is exemplarily described below by taking the mobile terminal 200 in fig. 2 as an example. It will be appreciated by those skilled in the art that the configuration of figure 2 can also be applied to fixed type devices, in addition to components specifically intended for mobile purposes.
As shown in fig. 2, the mobile terminal 200 may specifically include: a processor 210, an internal memory 221, an external memory interface 222, a USB (Universal Serial Bus) interface 230, a charging management Module 240, a power management Module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication Module 250, a wireless communication Module 260, an audio Module 270, a speaker 271, a microphone 272, a microphone 273, an earphone interface 274, a sensor Module 280, a display screen 290, a camera Module 291, a pointer 292, a motor 293, a button 294, and a SIM (Subscriber identity Module) card interface 295.
Processor 210 may include one or more processing units, such as: the Processor 210 may include an AP (Application Processor), a modem Processor, a GPU (Graphics Processing Unit), an ISP (Image Signal Processor), a controller, an encoder, a decoder, a DSP (Digital Signal Processor), a baseband Processor, and/or an NPU (Neural-Network Processing Unit), etc. The encoder may encode (i.e., compress) image or video data; the decoder may decode (i.e., decompress) the codestream data of the image or video to restore the image or video data.
In some embodiments, processor 210 may include one or more interfaces through which connections are made to other components of mobile terminal 200.
Internal memory 221 may be used to store computer-executable program code, which includes instructions. The internal memory 221 may include a volatile memory, a non-volatile memory, and the like. The processor 210 executes various functional applications of the mobile terminal 200 and data processing by executing instructions stored in the internal memory 221 and/or instructions stored in a memory provided in the processor.
The external memory interface 222 may be used to connect an external memory, such as a Micro SD card, for expanding the storage capability of the mobile terminal 200. The external memory communicates with the processor 210 through the external memory interface 222 to perform data storage functions, such as storing music, video, and other files.
The USB interface 230 is an interface conforming to the USB standard specification, and may be used to connect a charger to charge the mobile terminal 200, or connect an earphone or other electronic devices.
The charge management module 240 is configured to receive a charging input from a charger. While the charging management module 240 charges the battery 242, the power management module 241 may also supply power to the device; the power management module 241 may also monitor the status of the battery.
The wireless communication function of the mobile terminal 200 may be implemented by the antenna 1, the antenna 2, the mobile communication module 250, the wireless communication module 260, a modem processor, a baseband processor, and the like. The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. The mobile communication module 250 may provide a solution including 2G/3G/4G/5G wireless communication applied on the mobile terminal 200. The Wireless Communication module 260 may provide Wireless Communication solutions applied to the mobile terminal 200, including WLAN (Wireless Local Area Networks ) (e.g., Wi-Fi (Wireless Fidelity, Wireless Fidelity) Networks), BT (Bluetooth), GNSS (Global Navigation Satellite System), FM (Frequency Modulation), NFC (Near Field Communication), IR (Infrared technology), and the like.
The mobile terminal 200 may implement a display function through the GPU, the display screen 290, the AP, and the like, and display a user interface.
The mobile terminal 200 may implement a shooting function through the ISP, the camera module 291, the encoder, the decoder, the GPU, the display screen 290, the AP, and the like, and may also implement an audio function through the audio module 270, the speaker 271, the receiver 272, the microphone 273, the earphone interface 274, the AP, and the like.
The sensor module 280 may include a depth sensor 2801, a pressure sensor 2802, a gyroscope sensor 2803, a barometric pressure sensor 2804, etc. to implement different sensing functions.
Indicator 292 may be an indicator light that may be used to indicate a state of charge, a change in charge, or may be used to indicate a message, missed call, notification, etc. The motor 293 may generate a vibration cue, may also be used for touch vibration feedback, and the like. The keys 294 include a power-on key, a volume key, and the like.
The mobile terminal 200 may support one or more SIM card interfaces 295 for connecting to a SIM card to implement functions such as telephony and data communications.
Fig. 3 shows an exemplary flow of a thread identification method, which may be executed by the user terminal 110 or the server 120, and includes the following steps S310 to S330:
step S310, a thread to be identified of the currently running application program is obtained.
The currently running application may refer to an application running a related task, or an application currently having an interactive behavior with a user, for example, a media application such as video and music currently running in the foreground, or a game application having a strong interaction with the user. An application, when executed, may include multiple threads associated with a currently running application, e.g., a gaming application, may include a main thread, a rendering thread, or other threads, etc. when executed. The threads are all likely to have resource robbery during running, so all or part of the threads can be used as threads to be identified to execute the identification process of the critical threads.
Step S320, according to the static information and the dynamic information of the application program, counting the thread feature data of the thread to be identified in a preset time period.
The static information of the application refers to fixed characteristic information when the application is executed, such as the type of the application (game application, information application, media application, etc.); the dynamic information refers to characteristic information that changes according to the running state of the application, for example, the number of times that a thread is in a runnable state or a running state when the application is executed, authority information of which threads can be obtained by the application, and running environment information of the application, such as a current game scene in the game application. The static information and the dynamic information may be considered separately, for example, statistical thread feature data may be determined according to a ratio of the number of times that the thread is in the runnable state to the number of times that the thread is in the running state in the dynamic information, or the statistical thread feature data may be determined according to the type of the application program in the static information; and determining which thread characteristic data need to be counted according to the static information and the dynamic information.
The preset time period refers to a specific time period for performing thread feature data statistics, a statistical time node and a statistical duration of the preset time period may be set in a user-defined manner according to actual needs, for example, the statistical time node and the statistical duration may be set as a statistical start node of the preset time period when the application program starts to run, or a certain time after the application program starts to be set as a statistical start node of the preset time period, or the like, the statistical duration of the preset time period may be set to be 5 seconds or 8 seconds, or the like, specifically, the statistical time period may be specifically set according to characteristics or actual conditions of the application program, which is not specifically limited by the present disclosure.
The thread feature data refers to comprehensive data capable of reflecting features of the thread to be identified, and in the present exemplary embodiment, the feature data of the thread to be identified may be counted from one or more dimensions in a preset time period, and the thread feature data of the thread to be identified may be determined based on the feature data of the one or more dimensions, where the feature data of each dimension may be acquired original data, for example, the number of times the thread to be identified is called in the preset time period; or may be data calculated based on the original data, for example, load data at different frequency change points in a preset time period is calculated, and total load data in the preset time period is determined.
In the exemplary embodiment, the thread feature data of one or more threads to be identified may be counted, and for convenience of subsequent calculation, when the thread feature data of one thread to be identified is counted, the thread feature data may be converted into a vector form; when counting the thread feature data of a plurality of threads to be identified, the thread feature data of each thread to be identified may be converted into a corresponding vector form, and then a feature matrix and the like corresponding to the plurality of threads to be identified may be determined according to the plurality of vectors.
Step S330, identifying the thread to be identified based on the thread characteristic data, and determining whether the thread to be identified is a key thread.
And identifying the thread characteristic data, namely identifying the thread to be identified so as to determine whether the thread to be identified is a key thread. The key thread refers to a thread responsible for important work in the system, such as a rendering thread in a game application program, or a data processing thread including work such as receiving and analyzing data packets, processing various interfaces for data distribution, and the like in other application programs. By identifying the thread characteristic data, the embodiment of the example can identify whether the thread to be identified is a key thread, so as to ensure that the thread is reasonably allocated with resources subsequently.
In the present exemplary embodiment, according to the thread feature data, a classification result of whether the thread to be identified is a key thread, a normal thread, or another thread may be obtained, and specifically, the classification result may be represented by a numeral or a letter identifier, for example, a identifier "0" may represent a normal thread, a identifier "1" may represent a key thread, and the like. And further obtaining a resource allocation strategy result of the thread to be identified according to whether the thread to be identified is the identification result of the key thread, for example, further processing according to the identification result and the thread characteristic data, and determining that the thread to be identified can adopt a binding operation strategy to realize resource allocation.
In the present exemplary embodiment, the identifying process for the thread feature data may include a plurality of methods, for example, a known key thread may be determined in advance, then the plurality of threads to be identified are classified by calculating the similarity of the thread feature data of the plurality of threads to be identified, and the threads to be identified classified as a class with the known key thread are determined as the key threads; or calculating the similarity of the thread characteristic data of the known key thread and the thread to be identified, and determining the thread to be identified with the similarity exceeding a certain threshold value as the key thread; and then, training a machine learning model through the sample thread characteristic data and the corresponding label, and processing the thread key data based on the machine learning model to obtain an identification result of the thread to be identified, and the like, which is not specifically limited by the disclosure.
In an exemplary embodiment, the step S330 may include:
converting the thread feature data into thread feature vectors;
and processing the thread characteristic vector by adopting a machine learning model, and determining whether the thread to be identified is a key thread.
In the exemplary embodiment, a pre-trained machine learning model, such as a decision tree or a neural network model, may be directly adopted to directly process the thread feature vector converted from the thread feature data, so as to obtain the classification result of the thread to be identified. The thread feature vector can also be processed in a mode of combining a plurality of models, for example, the thread feature vector of the thread to be identified is processed by adopting the first model to obtain the classification result of the thread to be identified; and further processing the thread to be identified with the classification result as the key thread by adopting a second model to obtain a result of predicting which resource allocation decision can be specifically adopted by the key thread, wherein the first model can be a classification model and outputs the classification result, and the second model can be a regression model and outputs scores of different resource allocation decisions and the like.
In an exemplary embodiment, the thread identification method may further include:
and according to the identification result of the thread to be identified, carrying out resource allocation on the thread to be identified.
According to the identification result, the thread to be identified can be determined to belong to which important degree, further, the thread can be reasonably allocated with resources, for example, when the thread to be identified is determined to be a key thread, the thread can be bound, the affinity of the key thread and the core of a specific processor is improved, and the normal preferential operation of subsequent threads is ensured; or modifying the scheduling level of the key thread by the inner core so that the key thread can effectively schedule the resources; or setting mutually exclusive calling for the key thread; or performing operations such as frequency boosting on the processor core corresponding to the key thread, specifically, performing user-defined selection according to actual requirements, performing reasonable prediction by combining other algorithm models, and the like, which is not specifically limited in this disclosure.
To sum up, in the present exemplary embodiment, a thread to be identified of a currently running application is acquired; according to the static information and the dynamic information of the application program, counting the thread characteristic data of the thread to be identified in a preset time period; and identifying the thread to be identified based on the thread characteristic data, and determining whether the thread to be identified is a key thread. On one hand, the exemplary embodiment provides a new thread identification method, which can directly determine the identification result of the thread to be identified by processing the thread characteristic data, has simple and convenient flow, and can realize the rapid and accurate distinction of threads with different importance degrees, thereby facilitating the reasonable resource allocation of the threads; on the other hand, the thread characteristic data is related to the running state parameters of the application program, so that the thread characteristic data to be counted can be determined in a targeted manner according to the actual running condition and the requirement of the application program, and the effectiveness of the thread characteristic data is ensured; on the other hand, the thread feature data is statistical data obtained in a preset time period, and different thread feature data may be obtained in different preset time periods, so that it is further ensured that the exemplary embodiment can effectively and accurately identify the thread to be identified related to the current application program according to a specific thread running condition, and has strong timeliness.
In an exemplary embodiment, the thread feature data may include: one or more of thread attribute data, thread load data, thread invocation relationship data, thread state data, or thread prior data for a particular application.
The thread attribute data may reflect the importance category of the thread, for example, when the thread is a critical thread, the thread may be represented by a flag "1", when the thread is a normal thread or an unknown thread, the thread may be represented by a flag "0", when the thread is another thread, the thread may be represented by a flag "2" or another flag, and the like. Considering that some important critical threads may be predetermined, such as rendering threads, and other threads need to be identified to determine whether the critical threads are critical threads, non-critical threads in different scenarios may also be identified as critical threads, so the exemplary embodiment may use thread attribute data as thread feature data. The key threads may be predetermined by the platform, for example, the game application may have rendering threads responsible for frame drawing, and the rendering threads may generally have their thread IDs (identification) accurately accessible by the platform, for example, in an android system, the ID of the accurate key thread may be accessible through a queue Buffer (Buffer queue) in a libgui (C language GUI library) library, or the ID of the key thread may be obtained according to a scheme cooperating with some application vendors, so as to tag the threads, and so on.
The thread load data refers to data related to load capacity in the process of thread running, and can reflect the running state of the current thread. The thread call relation data refers to data called by other threads or programs when the application program executes by the thread to be identified, such as the calling level between the thread and the key thread or the called times, and the like. The thread state data may be determined by counting real-time frame rate information of the thread to be identified, specifically, the real-time frame rate of the thread to be identified may be compared with a preset frame rate to determine whether the thread is in a frame drop state or a stuck state, and further, the number of times that the thread is in a runnable state when the thread is in the stuck state may be used as the thread state data.
In addition, according to the type of the application program, in some special application programs, for example, in a game application program, since a game has strict performance index requirements on picture stutter, sound, and the like, a game engine in the game application program often creates its own work thread to process a corresponding task, and these work threads are often critical threads. Considering that the name of a thread created by a game engine, such as a game engine of Unity, unregeal, etc., is usually fixed, or has an obvious characteristic value, etc., therefore, the present exemplary embodiment may use, according to actual needs, thread prior information of a specific application as thread characteristic data, where the prior information is capable of determining whether a thread to be identified is a thread of a specific name created by the specific application for execution, such as NativeThread is an audio-related thread, WorkerThread is a worker thread created by a main thread and a rendering thread, etc., prior information may be determined according to these thread IDs, and may be represented by a specific character, for example, using an identifier "10" to represent that the thread to be identified is a specific thread created by the game engine, using an identifier "00" to represent that the thread to be identified is not a specific thread created by the game engine, etc., it should be noted that, if the thread to be identified is a particular thread created by the game engine, the probability of being identified as a critical thread may also be relatively high.
It should be noted that, according to the actual operating condition and the scene requirement of the application program, other thread feature data may also be obtained in the present exemplary embodiment, so as to increase the dimension of the thread feature data and improve the accuracy and effectiveness of identifying the thread to be identified, which is not specifically limited by the present disclosure.
Fig. 4 shows an architecture diagram of a thread identification method in the present exemplary embodiment, which may specifically include a data obtaining module 410, configured to obtain thread feature data, which may include one or more of thread attribute data 411, thread load data 412, thread invocation relation data 413, thread state data 414, or thread prior data 415 of a specific application; the thread identification module 420 is configured to identify a thread to be identified according to the thread feature data; and a result processing module 430, configured to perform reasonable resource allocation on the critical thread 431 and the non-critical thread 432 according to the identification result.
Further, as shown in fig. 5, in an exemplary embodiment, when the thread characteristic data is thread load data, the step S320 may include the following steps:
step S510, counting the running time of the thread to be identified at each frequency change point in a preset time period;
step S520, acquiring reference calculation force of a processor appointed core;
step S530, calculating load data corresponding to each frequency change point according to the operation time and the reference calculation force;
and step S540, determining the load data of the thread to be identified in a preset time period based on the load data corresponding to each frequency change point.
The thread load data is used as important information for identifying the key thread and can be obtained by calculating the running time and the unit computing power of the thread to be identified. Considering that different application programs can run in cores of different processors, in order to ensure that load data obtained by calculation has analyzability, load data of threads to be identified needs to be calculated by adopting a uniform standard. The exemplary embodiment may first determine a designated core, for example, an oversized core of a terminal device processor, then use a computing force corresponding to a highest frequency in the oversized core as a reference computing force, and normalize the computing force of the thread to be identified within a preset time based on the reference computing force. Specifically, in the present exemplary embodiment, the running time of the thread to be identified at each frequency change point may be counted by taking each frequency change point within a preset time period as a unit, where the frequency change point refers to a statistical time point at which the frequency value changes when the thread runs, for example, the frequency value of the thread changes to 2 after the frequency value of 1 runs for a period of time, and then the point at which the frequency value of 1 is located may be taken as the frequency change point, and the point at which the frequency value of 2 is located may also be taken as the frequency change point, so as to perform data statistics. Then, based on the running time and the reference calculation force, load data corresponding to each frequency change point is calculated, and finally, load data of the thread to be identified in the preset time period is determined according to the load data corresponding to each frequency change point.
For example, the task of the current thread to be identified runs on a big core, and the frequency change point is Freq1Corresponding unit calculated force is pow1The thread is at the frequency change point Freq1Has run for a time t1After that, the frequency change point becomes Freq2Triggering and counting the primary load data, which can be represented by the formula:
Figure BDA0003146282380000121
the frequency change point Freq is obtained by single calculation1Corresponding load data, wherein powMax represents a reference computational effort, such as a computational effort corresponding to a maximum frequency of the supercooled core; the thread to be identified changes Freq at the frequency change point2And run for time t2After that, the frequency change point becomes Freq3Triggering and counting the primary load data, which can be represented by the formula:
Figure BDA0003146282380000122
the frequency change point Freq is obtained by single calculation2Corresponding load data. And analogizing in turn, calculating to obtain load data corresponding to each frequency change point, and further obtaining the load data through a formula: loadT=Load1+Load2+……+LoadkAnd determining the load data of the thread to be identified in a preset time period.
In addition, the formula may also be employed:
Figure BDA0003146282380000123
determining the load data of the thread to be identified in a preset time period, wherein,
Figure BDA0003146282380000124
load data Load corresponding to the current frequency change point nnI.e. load data, t, corresponding to each frequency change point can be representednRepresents the time, pow, of the thread to be identified running at the frequency change point nnDenotes a unit calculation force corresponding to the frequency change point n, powMax denotes a reference calculation force, LoadTIndicating the total Load data, Load, accumulated over a period of time up to the current frequency change point nn-1Representing the total Load data accumulated at the previous frequency change point n-1 of the frequency change point n, and when n is the last frequency change point in the preset time period, LoadTNamely the load data of the thread to be identified in the preset time period. That is, in the present exemplary embodiment, the accumulated load data of the current frequency change point may be calculated based on the operation time of the current frequency change point, the corresponding unit calculation force, the reference calculation force, and the accumulated load data of the previous frequency change point.
In an exemplary embodiment, when the thread feature data is thread call relationship data, the step S320 may include:
determining a reference key thread;
and counting the calling levels of the thread to be identified and the reference key thread and the calling times of the thread to be identified in a preset time period.
The reference critical threads refer to some known predetermined critical threads, for example, in a game application program, a main thread for processing tasks related to game logic and rendering threads for processing the rendering related tasks generally belong to the critical threads and are relatively easy to determine, so that the threads can be used as the reference critical threads, and the calling relationship data of the threads to be identified is determined based on the dependency relationship between the reference critical threads and the critical threads to be identified. The exemplary embodiment may count the calling levels and the calling times of the thread to be identified and the reference key thread within a preset time period to determine the thread calling relationship data.
As shown in fig. 6, a schematic diagram of the wake relationship among multiple threads is shown, where thread GLThread 610 is a rendering thread of a game, which may be a key thread, and thread MainThread 620, thread WorkerThread 630, and thread mali-cmar-back 640 directly wake thread GLThread 610, so that thread MainThread 620, thread WorkerThread 630, and thread mali-cmar-back 640 may be used as a first call level, while thread MainThread 620 is woken by thread WorkerThread 650, thread CoreThread 660, and thread NativeThread 670, but belongs to a second level with respect to thread GLThread 610, so that thread 650, thread CoreThread 660, and NativeThread 670 may be used as a second call level, and so on, thread is used as a third call level, and the number of times of calls in fig. 6 is represented by a preset number.
In an exemplary embodiment, the number of the threads to be identified may be multiple, and as shown in fig. 7, the thread identification method may further include the following steps:
step S710, determining the weight of each thread to be identified according to the thread load data and/or the thread calling relation data of the thread to be identified;
further, step S340 may include:
step S720, combining the weight of each thread to be identified, processing the thread characteristic data of a plurality of threads to be identified so as to identify whether each thread to be identified is a key thread.
That is, the present exemplary embodiment may determine the weight of each thread to be identified according to the thread load data, the thread invocation relation data, and the thread load data and the thread invocation relation data, so as to identify the thread to be identified by combining different weights. Specifically, the heavily loaded thread to be identified may be given a higher weight; or the more times of the threads to be identified are called in the preset time period, the higher weight can be given to the threads to be identified; or a thread to be identified with a smaller calling level can be endowed with higher weight; finally, the above factors may be combined to determine the weight of the thread to be identified, and the like, which is not specifically limited in this disclosure. In addition, after the weights of the different threads to be identified are determined, for convenience of calculation, weight normalization processing and the like can be performed on the threads to be identified.
In addition to determining the weight of the thread to be identified according to the size of the call hierarchy, the exemplary embodiment may also determine the weight of each thread to be identified through other manners according to the thread call relationship data, for example, a reference key thread is used as an initial search call loop, and the weight is determined according to the call loop, for example, it is known that a reference key thread a finds that there is a loop when searching for a call relationship: the thread a < -the thread b < -the thread c < -the thread a (wherein < - > indicates that the thread a is awakened), which indicates that a working loop containing the reference key thread a exists, any thread of the loop does not obtain resources in time and the running of the reference key thread a can be influenced, therefore, the thread b and the thread c can be considered to be endowed with higher weight, so that the thread b and the thread c are more easily classified into the same class as the reference key thread a, and the probability that the thread b and the thread c become the key threads is improved.
In an exemplary embodiment, the thread identification method may further include:
acquiring reference thread characteristic data of a reference key thread;
in the step S720, the identifying the thread feature data of the multiple threads to be identified to obtain the identification results of the multiple threads to be identified includes:
and clustering the reference key thread and the multiple threads to be identified according to the reference thread characteristic data and the thread characteristic data, and determining the threads to be identified which are in the same category as the reference key thread as the key threads.
In this exemplary embodiment, reference thread feature data may also be determined for a predetermined reference critical thread, that is, a known critical thread, and the type of the thread feature data may be the same as the thread feature data of the thread to be identified, for example, the thread feature data may be thread call relationship data, thread load data, and the like. Further, the thread feature data of the known key thread and the thread to be identified are processed through a machine learning model or a clustering algorithm to be classified, and finally the thread to be identified, which belongs to the same category as the known key thread, in the classification result is the key thread.
In an exemplary embodiment, whether the thread to be identified is a critical thread or not can be periodically identified, and the resource allocation can be adjusted according to the running change of the application program. For example, the period may be set to 10 to 20 seconds, and the identification process of the critical thread is triggered each time the period condition is met, and in particular, the present exemplary embodiment may be applied to a scenario where the application program is a game application program, and further, the thread identification method may further include:
and triggering and executing to acquire the thread to be identified of the currently running application program in response to the switching of the game scene of the game application program, so as to periodically identify the thread to be identified of the game application program.
Considering the situation that a scene switch is often involved in a game application scene, the running state, the importance degree, or the resource demand of each thread may change in different game scenes, for example, when a game scene is an indoor scenario scene, thread 1 is a key thread, thread 2 is a normal thread, when a game scene is switched to an outdoor battle scene, thread 1 is a normal thread, thread 2 is a key thread, or both thread 1 and thread 2 are key threads, and so on. Based on this, the exemplary embodiment provides a mechanism for periodically detecting whether the thread to be identified is a critical thread, and when detecting that the game scene is switched, the mechanism may trigger the thread of the current game application to be identified again as the critical thread.
Fig. 8 is a flowchart illustrating another thread identification method in the present exemplary embodiment, which may specifically include the following steps:
step S810, acquiring a plurality of threads to be identified of the currently running application program;
step S820, acquiring thread characteristic data of each thread to be identified in multiple dimensions according to the static information and the dynamic information of the application program;
step S830, determining the weight of each thread to be identified, and normalizing the weight;
step 840, combining the weight of each thread to be identified, processing the thread characteristic data of a plurality of threads to be identified through a machine learning model;
step S850, obtaining the identification result of whether a plurality of threads to be identified are key threads;
step S860, detecting whether the application program finishes running;
if the application program finishes running, finishing the identification process of the thread to be identified;
step S870, detecting whether the current period reaches a preset period;
when the preset period is reached, step S820 is executed to obtain the thread feature data of each thread to be identified in multiple dimensions again, so as to identify the current thread to be identified again.
When the preset period is not reached, the process may return to step S860 to determine whether the application program ends running again and determine whether the preset period is reached again.
The preset period may be set by a user according to needs, for example, the period may be set to 20 seconds.
Exemplary embodiments of the present disclosure also provide a thread identifying apparatus. As shown in fig. 9, the thread identifying apparatus 900 may include: a thread to be identified obtaining module 910, configured to obtain a thread to be identified of a currently running application; the thread characteristic data counting module 920 is configured to count thread characteristic data of the thread to be identified within a preset time period according to the static information and the dynamic information of the application program; and the thread to be identified identifying module 930 configured to identify the thread to be identified based on the thread feature data, and determine whether the thread to be identified is a key thread.
In an exemplary embodiment, the thread characterization data includes: one or more of thread attribute data, thread load data, thread invocation relationship data, thread state data, or thread prior data for a particular application.
In an exemplary embodiment, when the thread characteristic data is thread load data, the thread characteristic data statistics module includes: the running time counting unit is used for counting the running time of the thread to be identified at each frequency change point in a preset time period; a reference calculation force acquisition unit for acquiring a reference calculation force of a processor-specified core; a first calculation unit for calculating load data corresponding to each frequency change point according to the operation time and the reference calculation force; and the second calculating unit is used for determining the load data of the thread to be identified in a preset time period based on the load data corresponding to each frequency change point.
In an exemplary embodiment, when the thread feature data is thread call relation data, the thread feature data statistics module includes: a reference key thread determining unit for determining a reference key thread; and the calling data counting unit is used for counting the calling levels of the thread to be identified and the reference key thread and the calling times of the thread to be identified in a preset time period.
In an exemplary embodiment, the number of the threads to be identified is multiple, and the thread identification method further includes: the weight determining module is used for determining the weight of each thread to be identified according to the thread load data and/or the thread calling relation data of the thread to be identified; the thread recognition module to be recognized comprises: and the thread identification unit is used for processing the thread characteristic data of the multiple threads to be identified by combining the weight of each thread to be identified so as to identify whether each thread to be identified is a key thread.
In an exemplary embodiment, the thread identification method further includes: the reference thread characteristic data acquisition module is used for acquiring reference thread characteristic data of a reference key thread; a thread identification unit comprising: and the thread identification subunit is used for clustering the reference key thread and the multiple threads to be identified according to the reference thread characteristic data and the thread characteristic data, and determining the threads to be identified which are in the same category as the reference key thread as the key threads.
In an exemplary embodiment, the thread to be identified identification module: the vector conversion unit is used for converting the thread characteristic data into thread characteristic vectors; and the vector processing unit is used for processing the thread characteristic vector by adopting a machine learning model and determining whether the thread to be identified is a key thread.
In an exemplary embodiment, the thread identification method further includes: and the resource allocation module is used for allocating resources to the thread to be identified according to the identification result of the thread to be identified.
In an exemplary embodiment, the application is a game application, and the thread identifying method further includes: and the period identification module is used for triggering execution and acquisition of the thread to be identified of the currently running application program in response to the switching of the game scene of the game application program, so as to periodically identify the key thread of the thread to be identified of the game application program.
The specific details of each part in the above device have been described in detail in the method part embodiments, and thus are not described again.
Exemplary embodiments of the present disclosure also provide a computer-readable storage medium, which may be implemented in the form of a program product, including program code, for causing a terminal device to perform the steps according to various exemplary embodiments of the present disclosure described in the above-mentioned "exemplary method" section of this specification, when the program product is run on the terminal device, for example, any one or more of the steps in fig. 3, fig. 5, fig. 7 or fig. 8 may be performed. The program product may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory, a Read Only Memory (ROM), an erasable programmable read only memory (EPROM or flash memory), an optical fiber, a portable compact disc read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system. Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the following claims.

Claims (12)

1.一种线程识别方法,其特征在于,包括:1. a thread identification method, is characterized in that, comprises: 获取当前运行的应用程序的待识别线程;Get the thread to be identified of the currently running application; 根据所述应用程序的静态信息和动态信息,统计所述待识别线程在预设时间段内的线程特征数据;According to the static information and dynamic information of the application program, count the thread feature data of the thread to be identified within a preset time period; 基于所述线程特征数据对所述待识别线程进行识别,确定所述待识别线程是否为关键线程。Identify the thread to be identified based on the thread feature data, and determine whether the thread to be identified is a key thread. 2.根据权利要求1所述的方法,其特征在于,所述线程特征数据包括:线程属性数据、线程负载数据、线程调用关系数据、线程状态数据或者特定应用程序的线程先验数据中的一种或多种。2. The method according to claim 1, wherein the thread characteristic data comprises: one of thread attribute data, thread load data, thread calling relationship data, thread state data or thread prior data of a specific application. one or more. 3.根据权利要求2所述的方法,其特征在于,当所述线程特征数据为所述线程负载数据时,所述统计所述待识别线程在预设时间段内的线程特征数据,包括:3. The method according to claim 2, wherein when the thread characteristic data is the thread load data, the counting the thread characteristic data of the thread to be identified within a preset time period comprises: 统计所述待识别线程在所述预设时间段内每个频率变化点下的运行时间;Counting the running time of the thread to be identified at each frequency change point within the preset time period; 获取处理器指定核心的参考计算力;Obtain the reference computing power of the specified core of the processor; 根据所述运行时间和所述参考计算力,计算所述每个频率变化点对应的负载数据;Calculate the load data corresponding to each frequency change point according to the running time and the reference computing power; 基于所述每个频率变化点对应的负载数据,确定所述待识别线程在所述预设时间段内的负载数据。Based on the load data corresponding to each frequency change point, the load data of the thread to be identified within the preset time period is determined. 4.根据权利要求2所述的方法,其特征在于,当所述线程特征数据为线程调用关系数据时,所述统计所述待识别线程在预设时间段内的线程特征数据,包括:4. The method according to claim 2, wherein, when the thread characteristic data is thread invocation relationship data, the statistics of the thread characteristic data of the thread to be identified within a preset time period include: 确定参考关键线程;Determine the reference key thread; 统计在所述预设时间段内,所述待识别线程与所述参考关键线程的调用层级以及所述待识别线程的调用次数。In the preset time period, the calling levels of the thread to be identified and the reference key thread and the calling times of the thread to be identified are counted. 5.根据权利要求2所述的方法,其特征在于,所述待识别线程为多个,所述方法还包括:5. The method according to claim 2, wherein there are multiple threads to be identified, and the method further comprises: 根据所述待识别线程的线程负载数据和/或线程调用关系数据确定每个待识别线程的权重;Determine the weight of each thread to be identified according to the thread load data and/or the thread calling relationship data of the thread to be identified; 所述基于所述线程特征数据对所述待识别线程进行识别,得到所述待识别线程是否为关键线程,包括:Identifying the thread to be identified based on the thread feature data, and obtaining whether the thread to be identified is a key thread, includes: 结合所述每个待识别线程的权重,对所述多个待识别线程的线程特征数据进行处理,以识别各所述待识别线程是否为所述关键线程。Combined with the weight of each thread to be identified, the thread feature data of the multiple threads to be identified is processed to identify whether each thread to be identified is the key thread. 6.根据权利要求5所述的方法,其特征在于,所述方法还包括:6. The method according to claim 5, wherein the method further comprises: 获取参考关键线程的参考线程特征数据;Obtain the reference thread characteristic data of the reference key thread; 所述对所述多个待识别线程的线程特征数据进行处理,以识别各所述待识别线程是否为所述关键线程,包括:The processing of thread feature data of the multiple threads to be identified to identify whether each thread to be identified is the key thread includes: 根据所述参考线程特征数据以及所述线程特征数据,对所述参考关键线程和所述多个待识别线程进行聚类,并将与所述参考关键线程处于相同类别的待识别线程确定为所述关键线程。According to the reference thread feature data and the thread feature data, the reference key thread and the multiple threads to be identified are clustered, and the thread to be identified that is in the same category as the reference key thread is determined as the Describe the key thread. 7.根据权利要求1所述的方法,其特征在于,所述基于所述线程特征数据对所述待识别线程进行识别,确定所述待识别线程是否为关键线程,包括:7. The method according to claim 1, wherein the identifying the thread to be identified based on the thread characteristic data, and determining whether the thread to be identified is a key thread, comprises: 将所述线程特征数据转换为线程特征向量;converting the thread feature data into a thread feature vector; 采用机器学习模型对所述线程特征向量进行处理,确定所述待识别线程是否为所述关键线程。The thread feature vector is processed by using a machine learning model to determine whether the thread to be identified is the key thread. 8.根据权利要求1所述的方法,其特征在于,所述方法还包括:8. The method of claim 1, wherein the method further comprises: 根据所述待识别线程的识别结果,对所述待识别线程进行资源分配。According to the identification result of the thread to be identified, resources are allocated to the thread to be identified. 9.根据权利要求1所述的方法,其特征在于,所述应用程序为游戏应用程序;所述方法还包括:9. The method according to claim 1, wherein the application is a game application; the method further comprises: 响应于所述游戏应用程序进行游戏场景的切换,触发执行获取当前运行的应用程序的待识别线程,以周期性对所述游戏应用程序的待识别线程进行所述关键线程的识别。In response to the game application switching the game scene, trigger execution to acquire the thread to be identified of the currently running application, so as to periodically identify the key thread for the thread to be identified of the game application. 10.一种线程识别装置,其特征在于,包括:10. A thread identification device, comprising: 待识别线程获取模块,用于获取当前运行的应用程序的待识别线程;The to-be-identified thread acquisition module is used to acquire the to-be-identified thread of the currently running application; 线程特征数据统计模块,用于根据所述应用程序的静态信息和动态信息,统计所述待识别线程在预设时间段内的线程特征数据;a thread feature data statistics module, configured to count the thread feature data of the thread to be identified within a preset time period according to the static information and dynamic information of the application; 待识别线程识别模块,用于基于所述线程特征数据对所述待识别线程进行识别,确定所述待识别线程是否为关键线程。The to-be-identified thread identification module is configured to identify the to-be-identified thread based on the thread characteristic data, and to determine whether the to-be-identified thread is a key thread. 11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述的方法。11. A computer-readable storage medium on which a computer program is stored, characterized in that, when the computer program is executed by a processor, the method of any one of claims 1 to 9 is implemented. 12.一种电子设备,其特征在于,包括:12. An electronic device, characterized in that, comprising: 处理器;processor; 存储器,用于存储所述处理器的可执行指令;a memory for storing executable instructions for the processor; 其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任一项所述的方法。wherein the processor is configured to perform the method of any one of claims 1 to 9 by executing the executable instructions.
CN202110753560.4A 2021-07-02 2021-07-02 Thread identification method, thread identification device, storage medium and electronic device Active CN113342505B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110753560.4A CN113342505B (en) 2021-07-02 2021-07-02 Thread identification method, thread identification device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110753560.4A CN113342505B (en) 2021-07-02 2021-07-02 Thread identification method, thread identification device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN113342505A true CN113342505A (en) 2021-09-03
CN113342505B CN113342505B (en) 2025-03-07

Family

ID=77482515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110753560.4A Active CN113342505B (en) 2021-07-02 2021-07-02 Thread identification method, thread identification device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN113342505B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268713A (en) * 2022-07-20 2022-11-01 Oppo广东移动通信有限公司 Thread identification method and device, storage medium and electronic equipment
CN117707755A (en) * 2023-07-11 2024-03-15 荣耀终端有限公司 Thread identifier distribution method, electronic equipment and storage medium
WO2025036044A1 (en) * 2023-08-14 2025-02-20 华为技术有限公司 Resource scheduling method and apparatus, and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222466A1 (en) * 2007-03-07 2008-09-11 Antonio Gonzalez Meeting point thread characterization
CN104375896A (en) * 2013-08-16 2015-02-25 联想(北京)有限公司 Information processing method and electronic equipment
CN109829300A (en) * 2019-01-02 2019-05-31 广州大学 APP dynamic depth malicious act detection device, method and system
CN112181702A (en) * 2020-09-23 2021-01-05 北京紫光展锐通信技术有限公司 Thread monitoring method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222466A1 (en) * 2007-03-07 2008-09-11 Antonio Gonzalez Meeting point thread characterization
CN104375896A (en) * 2013-08-16 2015-02-25 联想(北京)有限公司 Information processing method and electronic equipment
CN109829300A (en) * 2019-01-02 2019-05-31 广州大学 APP dynamic depth malicious act detection device, method and system
CN112181702A (en) * 2020-09-23 2021-01-05 北京紫光展锐通信技术有限公司 Thread monitoring method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵晶玲 等: "基于离线汇编指令流分析的恶意程序算法识别技术", 《清华大学学报(自然科学版)》, vol. 56, no. 5, 15 May 2016 (2016-05-15), pages 484 - 492 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268713A (en) * 2022-07-20 2022-11-01 Oppo广东移动通信有限公司 Thread identification method and device, storage medium and electronic equipment
CN117707755A (en) * 2023-07-11 2024-03-15 荣耀终端有限公司 Thread identifier distribution method, electronic equipment and storage medium
CN117707755B (en) * 2023-07-11 2024-11-01 荣耀终端有限公司 Thread identifier distribution method, electronic equipment and storage medium
WO2025036044A1 (en) * 2023-08-14 2025-02-20 华为技术有限公司 Resource scheduling method and apparatus, and electronic device

Also Published As

Publication number Publication date
CN113342505B (en) 2025-03-07

Similar Documents

Publication Publication Date Title
CN113342505B (en) Thread identification method, thread identification device, storage medium and electronic device
US20210389973A1 (en) Electronic device and method for operating the same
US9043208B2 (en) System, method and program product for providing automatic speech recognition (ASR) in a shared resource environment
WO2021077261A1 (en) Application program management method and apparatus, electronic device, and storage medium
US20130066815A1 (en) System and method for mobile context determination
WO2018082412A1 (en) Electronic equipment control method, device and electronic equipment
CN112346845B (en) Method, device and equipment for scheduling coding tasks and storage medium
CN112470217A (en) Method for determining electronic device to perform speech recognition and electronic device
CN107678858B (en) Application processing method and device, storage medium and electronic equipment
CN107925799B (en) Method and apparatus for generating video content
US20170041652A1 (en) Image data processing method and electronic device supporting the same
US20250190252A1 (en) Task scheduling method, electronic device, and computer-readable storage medium
CN113891408A (en) A method and electronic device for switching between Wi-Fi network and cellular network
CN114124593A (en) Multi-device calling method and device, control terminal and storage medium
CN111918386B (en) Positioning method, positioning device, storage medium and electronic equipment
CN107728772B (en) Application processing method and device, storage medium and electronic equipment
CN110276404B (en) Model training method, device and storage medium
CN107479744B (en) Method, device, terminal and storage medium for adjusting scheduling priority of touch screen
CN115658083A (en) Model deployment method, model operation method, model deployment device, model operation medium and electronic equipment
CN111796943A (en) Intention recognition method and device in interactive conversation
CN114615177A (en) Load detection method and device of cloud platform, electronic equipment and storage medium
CN107291543B (en) Application processing method and device, storage medium and terminal
WO2019076254A1 (en) Game application control method, and device
CN115061740B (en) Application processing method and device
CA2783657A1 (en) System and method for mobile context determination

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