A resource allocation method, wherein the method comprises: determining, by a network-side device based on a maximum quantity of transmissions of a terminal device in a scheduling period, a set comprising at least two groups of patterns, wherein the set is corresponding to a time-frequency resource pool, the time-frequency resource pool comprises N subframes, each group of patterns are in a one-to-one correspondence with the N subframes, a quantity of first subframes corresponding to each group of patterns is the same as the maximum quantity of transmissions, the first subframe is a subframe to which a frequency domain resource is allocated, and any group of patterns and any other group of patterns in the set are corresponding to a maximum of K same first subframes, wherein N and K are integers, N≥2, and K is greater than or equal to 0 and is less than the maximum quantity of transmissions; receiving, by the network-side device, resource scheduling request messages sent by at least two terminal devices, wherein the resource scheduling request message is used to request the network-side device to allocate a time-frequency resource to a terminal device corresponding to the resource scheduling request message, and the time-frequency resource is used by the at least two terminal devices to perform broadcast communication; determining, by the network-side device, a target group of patterns from the set based on the resource scheduling request messages, wherein the target group of patterns are in a one-to-one correspondence with the at least two terminal devices, and a quantity of the first subframes corresponding to the target group of patterns is equal to a maximum quantity of transmissions of the at least two terminal devices; and separately sending, by the network-side device, information about the target group of patterns to the at least two terminal devices. determining, by a network-side device based on a maximum quantity of transmissions of a terminal device in a scheduling period, a set comprising at least two groups of patterns, wherein the set is corresponding to a time-frequency resource pool, the time-frequency resource pool comprises N subframes, each group of patterns are in a one-to-one correspondence with the N subframes, a quantity of first subframes corresponding to each group of patterns is the same as the maximum quantity of transmissions, the first subframe is a subframe to which a frequency domain resource is allocated, and any group of patterns and any other group of patterns in the set are corresponding to a maximum of K same first subframes, wherein N and K are integers, N≥2, and K is greater than or equal to 0 and is less than the maximum quantity of transmissions; receiving, by the network-side device, resource scheduling request messages sent by at least two terminal devices, wherein the resource scheduling request message is used to request the network-side device to allocate a time-frequency resource to a terminal device corresponding to the resource scheduling request message, and the time-frequency resource is used by the at least two terminal devices to perform broadcast communication; determining, by the network-side device, a target group of patterns from the set based on the resource scheduling request messages, wherein the target group of patterns are in a one-to-one correspondence with the at least two terminal devices, and a quantity of the first subframes corresponding to the target group of patterns is equal to a maximum quantity of transmissions of the at least two terminal devices; and separately sending, by the network-side device, information about the target group of patterns to the at least two terminal devices.