Allocation and exchange of discrete resources such as kidneys, school seats, and many other resources for which agents have single-unit demand is conducted via direct mechanisms without monetary transfers. Incentive compatibility and efficiency are primary concerns in designing such mechanisms. We show that a mechanism is indi- vidually strategy-proof and always selects the efficient outcome with respect to some Arrovian social welfare function if and only if the mechanism is group strategy-proof and Pareto efficient. We construct the full class of these mechanisms and show that each of them can be implemented by endowing agents with control rights over resources. This new class, which we call trading cycles, contains new mechanisms as well as known mechanisms such as top trading cycles, serial dictatorships, and hierarchical exchange. We illustrate how one can use our construction to show what can and what cannot be achieved in a variety of allocation and exchange problems, and we provide an example in which the new trading-cycles mechanisms strictly Lorenz dominate all previously known mechanisms.