1460737427-0b122717-e307-4b52-a690-d314acbce340

1. An electrical wiring device, comprising:
a night light, the night light comprising one or more light sources for emitting light,
wherein the intensity of the light emitted from the night light is variable.
2. The electrical wiring device of claim 1, wherein the night light further comprises a lens disposed over the light sources, wherein the lens allows the light to be emitted therethrough.
3. The electrical wiring device of claim 2, wherein manipulation of the lens is used to adjust the intensity of the light emitted from the night light.
4. The electrical wiring device of claim 3, wherein the lens is pressed in and held in to adjust the intensity of the light emitted from the night light.
5. The electrical wiring device of claim 3, wherein the lens is pressed in and released to turn on or turn off the light emitted from the night light.
6. The electrical wiring device of claim 3, wherein the lens is rotated to turn on or turn off the light emitted from the night light.
7. The electrical wiring device of claim 3, wherein the lens is rotated to adjust the intensity of the light emitted from the night light.
8. The electrical wiring device of claim 1, further comprising:
a microcontroller communicably coupled to the night light and at least one load,
an occupancy detection sensor communicably coupled to the microcontroller, the occupancy detection sensor sending one or more signals to the microcontroller to allow the microcontroller to determine occupancy within a monitored area; and
a manual controller communicably coupled to the microcontroller,
wherein the electrical wiring device is operable in a plurality of operating modes,
wherein the manual controller and the night light are accessible to an end-user without any portion of the device being disassembled, and
wherein the operating modes are selected by manipulating one or more of the night light and manual controller.
9. The electrical wiring device of claim 8, further comprising an indicator communicably coupled to the microcontroller, the indicator providing information to the end-user as to when to stop manipulating one or more of the night light and manual controller, thereby resulting in a change in the operating mode of the electrical wiring device.
10. The electrical wiring device of claim 8, wherein the electrical wiring device is operable in an occupancy operating mode, wherein the microcontroller turns on one or more loads when occupancy within the monitored area is detected and turns off one or more loads when occupancy within the monitored area is no longer detected.
11. The electrical wiring device of claim 8, wherein the electrical wiring device is operable in an occupancy override operating mode, wherein the microcontroller turns on or off one or more loads based only upon operation of the manual controller.
12. The electrical wiring device of claim 8, wherein the electrical wiring device is operable in a vacancy operating mode, wherein the microcontroller turns on one or more loads only when the manual controller is operated, and wherein the microcontroller turns off one or more loads when occupancy within the monitored area is no longer detected.
13. The electrical wiring device of claim 8, wherein the electrical wiring device is operable in a night light operating mode, wherein operation of the electrical wiring device in the night light operating mode is dependent upon the status of the night light.
14. The electrical wiring device of claim 13, wherein the microcontroller turns on one or more loads only when the manual controller is operated when the electrical wiring device is operating in the night light operating mode with the night light on.
15. The electrical wiring device of claim 13, wherein the microcontroller turns on one or more loads when occupancy within the monitored area is detected and turns off one or more loads when occupancy within the monitored area is no longer detected when the electrical wiring device is operating in the night light operating mode with the night light off.
16. An electrical wiring device, comprising:
a night light, the night light comprising:
one or more sources for emitting light; and
a lens optically coupled to the sources, the lens allowing the light to be emitted therethrough;

wherein the intensity of the light emitted from the night light is variable, and
wherein manipulation of the lens is used to adjust the intensity of the light emitted from the night light.
17. The electrical wiring device of claim 16, wherein the lens is pressed in and held to adjust the intensity of the light emitted from the night light.
18. The electrical wiring device of claim 16, wherein the lens is pressed in and released to turn on or turn off the light emitted from the night light.
19. The electrical wiring device of claim 16, wherein the lens is rotated to turn on or turn off the light emitted from the night light.
20. The electrical wiring device of claim 16, wherein the lens is rotated to adjust the intensity of the light emitted from the night light.
21. A lighting control system, comprising:
at least one load positioned within an area; and
a lighting control device electrically coupled to at least one load, wherein the lighting control device, comprises:
a night light, the night light comprising one or more sources for emitting light,

wherein the intensity of the light emitted from the night light is variable.
22. The lighting control system of claim 21, wherein the night light further comprises a lens optically coupled to the sources, the lens allowing the light to be emitted therethrough.
23. The lighting control system of claim 22, wherein manipulation of the lens is used to adjust the intensity of the light emitted from the night light.
24. The lighting control system of claim 21, wherein the lighting control device further comprises:
a microcontroller communicably coupled to the night light and at least one load,
an occupancy detection sensor communicably coupled to the microcontroller, the occupancy detection sensor sending one or more signals to the microcontroller to allow the microcontroller to determine occupancy within a monitored area; and
a manual controller communicably coupled to the microcontroller,
wherein the electrical wiring device is operable in a plurality of operating modes,
wherein the manual controller and the night light are accessible to an end-user without any portion of the device being disassembled, and
wherein the operating modes are selected by manipulating one or more of the night light and manual controller.
25. The lighting control system of claim 24, wherein the lighting control device further comprises an indicator communicably coupled to the microcontroller, the indicator providing information to the end-user as to when to stop manipulating one or more of the night light and manual controller, thereby resulting in a change in the operating mode of the lighting control device.
26. A method for operating a night light formed within an electrical wiring device, comprising:
providing an electrical wiring device comprising a night light, the night light comprising one or more light sources for emitting light; and
manipulating the intensity of the light emitted from the night light.
27. The method of claim 26, wherein the night light further comprises a lens disposed over the light source, wherein the lens allows the light to be emitted therethrough.
28. The method of claim 27, wherein manipulating the intensity of the light comprises pressing and holding in the lens to adjust the intensity of the light emitted from the night light.
29. The method of claim 27, wherein manipulating the intensity of the light comprises pressing in and releasing the lens to turn on or turn off the light emitted from the night light.
30. The method of claim 27, wherein manipulating the intensity of the light comprises rotating the lens to turn on or turn off the light emitted from the night light.
31. The method of claim 27, wherein manipulating the intensity of the light comprises rotating the lens to adjust the intensity of the light emitted from the night light.
32. An electrical wiring device, comprising:
a night light comprising one or more sources for emitting light; and
a manual interface communicably coupled to the night light,
wherein the intensity of the light emitted from the night light is variable, and
wherein manipulation of the manual interface is used to adjust the intensity of the light emitted from the night light.
33. The electrical wiring device of claim 32, wherein the lens is pressed in and held to adjust the intensity of the light emitted from the night light.
34. The electrical wiring device of claim 32, wherein the lens is pressed in and released to turn on or turn off the light emitted from the night light.
35. The electrical wiring device of claim 32, wherein the lens is rotated to turn on or turn off the light emitted from the night light.
36. The electrical wiring device of claim 32, wherein the lens is rotated to adjust the intensity of the light emitted from the night light.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. In a computer system comprising a plurality of central processing units (CPUs) and wherein one or more applications are configured to request execution of one or more tasks maintained in one or more libraries, a method of using a plurality of worker threads that are assigned to execute on different CPUs to execute at least some of the one or more tasks in parallel comprising the acts of:
receiving from one or more applications a request to execute a plurality of tasks;
assigning to each CPU at least one worker thread for processing, each worker thread having a queue for tracking execution and completion of an assigned task;
assigning one or more tasks from one or more applications to each of the at least one worker thread assigned to each CPU, wherein at least one of the one or more assigned tasks is replicable;
if a worker thread has a replicable task originally assigned to its queue, designating that worker thread as an original worker thread for the replicable task; and
each worker thread using its queue to determine when its assigned tasks are completed, and when a first worker thread has completed its assigned tasks, the first worker thread copying an uncompleted replicable task from an original worker thread and commencing processing of uncompleted portions of the copied replicable task, and then when a second worker thread completes its assigned tasks, the second worker thread also copying the same replicable task from the original worker thread and processing other uncompleted portions of the copied replicable task not yet processed by the first worker thread.
2. The method as recited in claim 1, further comprising an act of a library instantiating a task manager to handle the request, wherein the task manager generates the plurality of worker threads and assigns at least one worker thread to each CPU.
3. The method as recited in claim 2, wherein the task manager maintains execution of all tasks that do not include a replicable task on one worker thread at a time.
4. The method as recited in claim 2, further comprising an act of the library designating a number of central processing units to be used by the task manager.
5. The method as recited in claim 2, further comprising an act of the task manager dynamically determining the number of worker threads to be generated based on the number of central processing units in the system.
6. The method as recited in claim 1, further comprising an act of each worker thread synchronizing those portions of a copied replicable task that have been processed through one or more synchronizing components linked to each copy of a replicable task.
7. The method as recited in claim 6, wherein the one or more synchronizing components comprise an index file that is shared by each copy of a replicable task.
8. The method as recited in claim 6, further comprising an act of one of the worker threads receiving an indication from a synchronizing component that all portions of a replicable task have been processed.
9. The method as recited in claim 8, further comprising an act of a worker thread sending a message to the original worker thread that a replicable task has been processed to completion.
10. The method as recited in claim 6, wherein the act of synchronizing further comprises each of the worker threads that are processing a copied replicable task performing an act of updating a synchronizing component linked to the copied replicable task each time a portion of the replicable task has been processed.
11. The method as recited in claim 1 wherein the acts of the method are stored on a computer readable medium which is comprised of a computer storage device having physical memory that stores executable instructions thereon, which, when executed, cause the CPUs of the computer system to implement the method.
12. In a computer system comprising a plurality of central processing units (CPUs) and wherein one or more applications are configured to request execution of one or more tasks maintained in one or more libraries, a method of using a plurality of worker threads that are assigned to execute on different CPUs to execute at least some of the one or more tasks in parallel, comprising the acts of:
receiving from one or more applications a request to execute a plurality of tasks;
assigning to each CPU at least one worker thread for processing, each worker thread having a queue for tracking execution and completion of an assigned task;
assigning one or more tasks from one or more applications to each of the at least one worker thread assigned to each CPU, wherein at least one of the one or more assigned tasks is replicable;
if a worker thread has a replicable task originally assigned to its queue, designating that worker thread as an original worker thread for the replicable task;
each worker thread using its queue to determine when its assigned tasks are completed, and when a first worker thread has completed its assigned tasks, the first worker thread copying an uncompleted replicable task from an original worker thread and commencing processing of uncompleted portions of the copied replicable task, and then when a second worker thread completes its assigned tasks, the second worker thread also copying the same replicable task from the original worker thread and processing other uncompleted portions of the copied replicable task not yet processed by the first worker thread;
each of the first and second worker threads which are processing portions of said same copied replicable task updating a synchronization component as to the portions of processing completed for the same copied replicable task, and if a worker thread determines that it has completed the last portion of a copied replicable task, in addition to updating the synchronization component, sending a message to the original worker thread for the completed replicable task indicating its completion; and
once an original worker thread reaches a replicable task in its queue, the original worker thread first checking to determine whether the replicable task has been completed by any of the first and second worker threads that copied the replicable task, and if completed, the original worker thread moving to a next task in its queue, if any, and if the copied replicable task is not yet completed, the original worker thread then checking the synchronization component and processing one or more remaining portions of the replicable task which have not been completed and which are not already being processed by any other worker threads.
13. The method as recited in claim 12, wherein once a worker thread has completed the tasks in its queue, that worker thread identifies a replicable task that it can copy by checking the queue of one or more other worker threads, and by checking the synchronization component to determine that the identified replicable task still has portions thereof that require processing.
14. The method as recited in claim 12 wherein the acts of the method are stored on a computer readable medium which is comprised of a computer storage device having physical memory that stores executable instructions thereon, which, when executed, cause the CPUs of the computer system to implement the method.