In this paper, we propose a combined preemptive/nonpreemptive priority discipline. When a high-priority job arrives at the system while a low-priority job is being in service, the high-priority job will be served immediately and the low-priority job will go back to the head of the queue of its class, if a discretion rule for preemption is satisfied. Otherwise, the high-priority job waits in queue until the completion of the low-priority job service. As the discretion rule for preemption, we consider three schemes, each based on the parameter of the low-priority job; the elapsed service time, the ratio of elapsed to total service time, and the remaining service time. Using the busy-period analysis technique, we analyze an M/G/1 queueing system with multiple priority classes of jobs. Considered preemptive rules are the preemptive-resume and preemptive-repeat-identical policies. As results, we present the Laplace transforms associated with waiting time and response time, and the z-transform for the number of jobs in the system as well as their expectations. We also show some numerical examples, and consider practical applications of the model.