This paper considers the problem of scheduling m independent, immediately available tasks on n parallel processors. Each task has a waiting cost rate, that is a function of time, and a service time. There are no feasibility restrictions on the order in which the tasks are to be processed. An optimal scheduling rule is presented for the single processor scheduling of tasks with continuously discounted linear waiting costs. A dynamic programming algorithm has been developed for a wide class of parallel-processor problems. Linear waiting costs (with or without discounting), arbitrary processor use costs, and certain other costs are considered. In certain cases, the service time of a task may be a function of the processor that performs it.