We improve on the Bresson--Stern--Szydlo threshold ring signature scheme which uses Shamir secret sharing scheme by showing that the security can be proved under a strictly weaker assumption, that is the random oracle model rather than the ideal cipher model. Then we propose an efficient (n-t)-out-of-n threshold ring signature scheme which is efficient when t is small compared with n. Our scheme has a kind of dual structure of the Bresson--Stern--Szydlo threshold ring signature scheme, which is infeasible when t is small compared with n.