System and method for synchronizing execution of a batch of threads
First Claim
1. A method for creating a computer program to be executed by a plurality of threads, the method comprising:
- receiving input specifying functionality for the computer program, wherein said input specifying the functionality includes input specifying a batch synchronization section that defines execution synchronization behavior for threads associated with a batch object;
creating program instructions in response to the input specifying the functionality for the computer program;
wherein, when the program instructions are executed by the plurality of threads, the program instructions are operable to;
programmatically associate each of the plurality of threads with the batch object;
synchronize execution of the batch synchronization section for each thread associated with the batch object, according to the execution synchronization behavior defined by the batch synchronization section.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for creating a computer program to be executed by a plurality of threads, in which the method utilizes a technique for execution synchronization referred to herein is a batch synchronization section. According to this technique, a plurality of threads may be associated with one another as a “batch” of threads. Each thread in the plurality (batch) of threads may execute the computer program simultaneously. The batch synchronization section may specify a portion of the computer program for which the execution of the portion by the plurality of threads is to be synchronized. In one embodiment different types of batch synchronization sections may be specified, wherein each type of batch synchronization section performs a different type of execution synchronization. In one embodiment the method may enable execution synchronization behavior for multiple concurrent executions of a test executive test sequence to be specified. The test sequence may include one or more batch synchronization sections. Multiple threads may each execute an instance of the test sequence to concurrently to test a group of units under test, and the batch synchronization sections may coordinate the execution of the multiple threads where necessary.
106 Citations
29 Claims
-
1. A method for creating a computer program to be executed by a plurality of threads, the method comprising:
-
receiving input specifying functionality for the computer program, wherein said input specifying the functionality includes input specifying a batch synchronization section that defines execution synchronization behavior for threads associated with a batch object;
creating program instructions in response to the input specifying the functionality for the computer program;
wherein, when the program instructions are executed by the plurality of threads, the program instructions are operable to;
programmatically associate each of the plurality of threads with the batch object;
synchronize execution of the batch synchronization section for each thread associated with the batch object, according to the execution synchronization behavior defined by the batch synchronization section. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
18. A method for creating a computer program to be executed by a plurality of threads, the method comprising:
-
receiving input specifying a first portion of functionality for the computer program;
receiving input specifying a second portion of functionality for the computer program;
receiving input specifying an enter point for the second portion of functionality;
receiving input specifying an exit point for the second portion of functionality;
creating executable program instructions in response to the input;
associating a plurality of threads with the enter point;
the plurality of threads executing the program instructions, wherein said executing comprises;
each thread executing until arriving at the enter point for the second portion of functionality and then blocking at the enter point until all other threads associated with the enter point have arrived at the enter point;
one or more threads executing the second portion of functionality until arriving at the exit point;
each thread that arrives at the exit point blocking at the exit point until all other threads associated with the enter point have arrived at the exit point.
-
-
19. A memory medium for creating a computer program to be executed by a plurality of threads, the memory medium comprising program instructions executable to:
-
receive input specifying functionality for the computer program, wherein said input specifying the functionality includes input specifying a batch synchronization section that defines execution synchronization behavior for threads associated with a batch object;
create program instructions in response to the input specifying the functionality for the computer program;
wherein, when the program instructions are executed by the plurality of threads, the program instructions are operable to;
programmatically associate each of the plurality of threads with the batch object;
synchronize execution of the batch synchronization section for each thread associated with the batch object, according to the execution synchronization behavior defined by the batch synchronization section.
-
-
29. A system for creating a computer program to be executed by a plurality of threads, the system comprising:
-
a processor;
a memory storing program instructions;
wherein the processor is operable to execute the program instructions to;
receive input specifying functionality for the computer program, wherein said input specifying the functionality includes input specifying a batch synchronization section that defines execution synchronization behavior for threads associated with a batch object;
create program instructions in response to the input specifying the functionality for the computer program;
wherein, when the program instructions are executed by the plurality of threads, the program instructions are operable to;
programmatically associate each of the plurality of threads with the batch object;
synchronize execution of the batch synchronization section for each thread associated with the batch object, according to the execution synchronization behavior defined by the batch synchronization section.
-
Specification