IP Library › Granted Patent US 12,474,962
Granted Patent B2
US 12,474,962 · App. 18/253,400 · Granted Nov 18, 2025

Process communication method and apparatus, storage medium, and mobile terminal

Inventor: Binhong Wang (Guangdong, CN)
Assignee: JRD COMMUNICATION (SHENZHEN) LTD.
G06F9/5027G06F9/54G06F2209/5011G06F2209/5018
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,474,962
App. No.
18/253,400
Granted
Nov 18, 2025
Kind
B2
Abstract

A process communication method and apparatus, a storage medium, and a mobile terminal. The method comprises: when a system process needs to communicate with an application process, determining whether an idle communication thread is present in a thread pool of the application process ( 101 ); if no idle communication thread is present in the thread pool of the application process, creating a first target communication thread ( 102 ); and communicating with the system process using the first target communication thread ( 103 ). By creating a target communication thread in a thread pool of an application process, abnormalities such as a frozen screen, restart and stuttering of a mobile terminal are avoided.

Claims (68)

1 . A process communication method, comprising:

determining, when a system process needs to communicate with an application process, whether the application process has idle communication threads in a thread pool of the application process;

using the idle communication threads to communicate with the system process if the application process has idle communication threads in the thread pool of the application process;

creating a first target communication thread if the application process has no idle communication thread in the thread pool of the application process; and

using the first target communication thread to communicate with the system process;

wherein after using the first target communication thread to communicate with the system process, the method further comprises:

determining again whether the application process has idle communication threads in the thread pool of the application process when the system process needs to communicate with the application process again;

determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number if the application process has an idle communication thread in the thread pool of the application process; and

destroying the first target communication thread after the communication between the first target communication thread and the system process is completed if the number of idle communication threads in the thread pool of the application process is not less than the first preset number; and using any of the idle communication threads to communicate with the system process that needs to communicate again;

wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number, the method further comprises:

determining whether the first target communication thread is in an idle state if the number of idle communication threads in the thread pool of the application process is less than a first preset number; and

using the first target communication thread to communicate with the system process that needs to communicate again if the first target communication thread is in an idle state;

wherein after determining whether the first target communication thread is in an idle state, the method further comprises:

determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number if the first target communication thread is not in an idle state, wherein the second preset number is less than the first preset number; and

using any idle communication thread to communicate with the system process that needs to communicate again if the number of idle communication threads in the thread pool of the application process is not less than the second preset number.

2 . The process communication method according to claim 1 , wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number, the method further comprises:

creating a second target communication thread if the number of idle communication threads in the thread pool of the application process is less than the second preset number; and

using the second target communication thread to communicate with the system process that needs to communicate again.

3 . The process communication method according to claim 1 , wherein after determining whether the first target communication thread is in an idle state, the method further comprises:

creating a second target communication thread if the first target communication thread is not in an idle state; and

using the second target communication thread to communicate with the system process that needs to communicate again.

4 . The process communication method according to claim 1 , wherein after determining whether the application process has idle communication threads in the thread pool of the application process, the method further comprises:

using the idle communication threads to communicate with the system process if the application process has idle communication threads in the thread pool of the application process.

5 . A non-transitory computer-readable storage medium, wherein a computer program is stored in the storage medium, and, when being executed by a computer, directs the computer to execute a method comprising:

determining whether an application process has idle communication threads in a thread pool of the application process when a system process needs to communicate with the application process;

using the idle communication threads to communicate with the system process if the application process has idle communication threads in the thread pool of the application process;

creating a first target communication thread if the application process has no idle communication thread in the thread pool of the application process; and

using the first target communication thread to communicate with the system process;

wherein after using the first target communication thread to communicate with the system process, the method further comprises:

determining again whether the application process has idle communication threads in the thread pool of the application process when the system process needs to communicate with the application process again;

determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number if the application process has an idle communication thread in the thread pool of the application process; and

destroying the first target communication thread after the communication between the first target communication thread and the system process is completed if the number of idle communication threads in the thread pool of the application process is not less than the first preset number; and

using any of the idle communication threads to communicate with the system process that needs to communicate again;

wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number, the method further comprises:

determining whether the first target communication thread is in an idle state if the number of idle communication threads in the thread pool of the application process is less than a first preset number; and

using the first target communication thread to communicate with the system process that needs to communicate again if the first target communication thread is in an idle state;

wherein after determining whether the first target communication thread is in an idle state, the method further comprises:

determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number if the first target communication thread is not in an idle state, wherein the second preset number is less than the first preset number; and

using any idle communication thread to communicate with the system process that needs to communicate again if the number of idle communication threads in the thread pool of the application process is not less than the second preset number.

6 . The non-transitory computer-readable storage medium according to claim 5 , wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number, the method further comprises:

creating a second target communication thread if the number of idle communication threads in the thread pool of the application process is less than the second preset number; and

using the second target communication thread to communicate with the system process that needs to communicate again.

7 . The non-transitory computer-readable storage medium according to claim 5 , wherein after determining whether the first target communication thread is in an idle state, the method further comprises:

creating a second target communication thread if the first target communication thread is not in an idle state; and

using the second target communication thread to communicate with the system process that needs to communicate again.

8 . The non-transitory computer-readable storage medium according to claim 5 , wherein after determining whether the application process has idle communication threads in the thread pool of the application process, the method further comprises:

using the idle communication threads to communicate with the system process if the application process has idle communication threads in the thread pool of the application process.

9 . A mobile terminal, wherein the mobile terminal includes a processor and a memory, a computer program is stored in the memory, and the processor calls the computer program stored in the memory to execute the method comprising:

determining whether an application process has idle communication threads in a thread pool of the application process when a system process needs to communicate with the application process;

using the idle communication threads to communicate with the system process if the application process has idle communication threads in the thread pool of the application process;

creating a first target communication thread if the application process has no idle communication thread in the thread pool of the application process;

using the first target communication thread to communicate with the system process;

determining again whether the application process has idle communication threads in the thread pool of the application process when the system process needs to communicate with the application process again;

determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number if the application process has an idle communication thread in the thread pool of the application process; and

destroying the first target communication thread after the communication between the first target communication thread and the system process is completed if the number of idle communication threads in the thread pool of the application process is not less than the first preset number;

using any of the idle communication threads to communicate with the system process that needs to communicate again;

wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a first preset number, the method further comprises:

determining whether the first target communication thread is in an idle state if the number of idle communication threads in the thread pool of the application process is less than a first preset number; and

using the first target communication thread to communicate with the system process that needs to communicate again if the first target communication thread is in an idle state;

wherein after determining whether the first target communication thread is in an idle state, the method further comprises:

determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number if the first target communication thread is not in an idle state, wherein the second preset number is less than the first preset number; and

using any idle communication thread to communicate with the system process that needs to communicate again if the number of idle communication threads in the thread pool of the application process is not less than the second preset number.

10 . The mobile terminal according to claim 9 , wherein after determining whether the number of idle communication threads in the thread pool of the application process is not less than a second preset number, the method further comprises:

creating a second target communication thread if the number of idle communication threads in the thread pool of the application process is less than the second preset number; and

using the second target communication thread to communicate with the system process that needs to communicate again.

11 . The mobile terminal according to claim 9 , where determining whether the first target communication thread is in an idle state, the method further comprises:

creating a second target communication thread if the first target communication thread is not in an idle state; and

using the second target communication thread to communicate with the system process that needs to communicate again.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2023
From: WANG, BINHONG
To: JRD COMMUNICATION (SHENZHEN) LTD.
Reel/Frame 063679/0286 →
Priority Claims (1)
CN 202011292054.1 · Nov 18, 2020 · national
Continuity (1)
Related Publication 20240004714A1 · Jan 4, 2024
References Cited (29)
US 11163606B1 · Hampton · 2021 [cited by examiner]
US 20040015979A1 · Shen et al. · 2004 [cited by applicant]
US 20050086359A1 · Banerjee · 2005 [cited by examiner]
US 20060107261A1 · Vedula · 2006 [cited by examiner]
US 20080127206A1 · Leonov et al. · 2008 [cited by applicant]
US 20090006520A1 · Abib · 2009 [cited by examiner]
US 20100037222A1 · Tatsubori · 2010 [cited by examiner]
US 20160321116A1 · Schwartz, Jr. et al. · 2016 [cited by applicant]
US 20170090979A1 · Dinan · 2017 [cited by examiner]
US 20170351551A1 · Manhardt · 2017 [cited by examiner]
US 20180287951A1 · Waskiewicz, Jr. · 2018 [cited by examiner]
US 20190171490A1 · Manhardt · 2019 [cited by examiner]
US 20190370061A1 · Shah · 2019 [cited by examiner]
CN 104038439A · 2014 [cited by examiner]
CN 105635298A · 2016 [cited by examiner]
CN 107450978A · 2017 [cited by applicant]
CN 107463439A · 2017 [cited by applicant]
CN 107704363A · 2018 [cited by applicant]
CN 107832146A · 2018 [cited by applicant]
CN 108924128A · 2018 [cited by applicant]
JP 2011210144A · 2011 [cited by examiner]
JP 2013182502A · 2013 [cited by examiner]
François Trahay, An analysis of the impact of multi-threading on communication performance. (Year: 2009). [cited by examiner]
Chinese Office Action issued in corresponding Chinese Patent Application No. 202011292054.1 dated Jun. 20, 2023, pp. 1-8. [cited by applicant]
Java Java Concurrency in Practice , 1 Brian Goetz , 141-143. [cited by applicant]
Notification to Grant Patent Right for Invention issued in corresponding Chinese Patent Application No. 202011292054.1 dated Oct. 30, 2023, pp. 1-4. [cited by applicant]
Written Opinion of the International Search Authority in international application No. PCT/CN2020/133541, mailed on Aug. 16, 2021. [cited by applicant]
International Search Report in International application No. PCT/CN2020/133541, mailed on Aug. 16, 2021. [cited by applicant]
Chinese Office Action issued in corresponding Chinese Patent Application No. 202011292054.1 dated Nov. 22, 2022, pp. 1-7. [cited by applicant]