Gap junctions are communication channels between adjacent animal cells. These channels are composed of transmembrane proteins called connexins. Six connexin molecules form a hemichannel called a connexon . A homomeric connexon comprises six copies of the same connexin protein, whereas a heteromeric connexon is formed by different connexin proteins. The connexons can dynamically diffuse through the membrane. When one connexon on a cell membrane encounters another connexon on the adjacent cell, they pair up to form a complete channel. Clusters of such channels form the gap junction plaques that allow the exchange of ions, secondary messengers, sugars, and other small molecules between cells. The diversity of connexins and their combinations confers channel selectivity for specific molecules. The transport of solutes is further regulated by the opening and closing of channels in response to various stimuli, such as voltage difference, calcium ion concentration, and pH. For example, gap junctions in heart muscles respond to voltage differences and synchronize the flow of ions between groups of muscle cells, thus generating rhythmic contractions in the heart.