In computer science, polling or a polled operation denotes the process of repeatedly sampling the status of external devices by a client program. The term polling is often used when describing input/output and referred to as software-driven I/O or polled I/O. This process can occur thousands of times a second.
Specifically, in multipoint or multidrop communication, the controlling device -- with multiple devices attached that share the same line -- sends a message to each device, one at a time, asking each whether it has anything to communicate, i.e., whether it wants to use the line.
Polling is ubiquitous across computer science wherever one program waits on another for a response. For example, process A in a program may ask process C, "Do you have anything I can do?" repeatedly until it gets an answer.
Polling activity can range from a low level, such as polling the status of a wire looking for a change of voltage, to a high level as in the case of one server sending a web request to another server for information about an item.
Polling is relatively easy to implement and can be especially effective. In Unix-like systems, users may use poll() instead of select(). While the functions provide similar functionality, they differ significantly in how they handle events. For example, if the user is polling for input, then poll() returns immediately after calling the function, whereas select() waits until an event occurs before returning.
There are three main polling types:
Polling rate refers to how frequently a device, such as a mouse or keyboard, sends data back to the computer to which it's attached. It may be measured as rate per second or hertz (Hz).
A keyboard's polling rate is the number of times per second it checks to see if any keys have been pressed. The higher the polling rate, the better the responsiveness of the keyboard.
For example, a 1 kilohertz (kHz) polling rate means that the keyboard checks every millisecond whether any keys have been pressed; a 10 kHz polling rate means that it checks once every 10 milliseconds. Generally, a polling rate between 100 Hz and 250 Hz is good for typing; for gaming, a polling rate of 500 Hz to 1,000 Hz is preferred.
Long polling is a technique used to avoid repeatedly sending requests to a remote resource, such as a Hypertext Transfer Protocol server, to retrieve updated information. Rather than requesting the same information repeatedly, the request can be sent once and held until the requested information changes.
See eight tips to optimize network bandwidth and performance.
22 Feb 2023