We propose a new generalized thresholding algorithm useful for inverse problems with sparsity constraints. The algorithm uses a thresholding function with a parameter p. When p = 1, the thresholding function is equivalent to classical soft thresholding. For values of p below 1, the thresholding penalizes small coefficients over a wider range and applies less bias to the larger coefficients, much like hard thresholding but without discontinuities. The functional that the new thresholding minimizes is non-convex for p < 1. We state an algorithm similar to the Iterative Soft Thresholding Algorithm (ISTA). We show that the new thresholding performs better in numerical examples than soft thresholding.