Use a dispatch semaphore to keep thread safe for downloader because it need the hold cancel and add procedure be thread-safe
Use a dispatch semaphore to keep thread safe for downloader because it need the hold cancel and add procedure be thread-safe

iheartradio/SDWebImage,zhang-yawei/SDWebImage,rs/SDWebImage,dreampiggy/SDWebImage,smule/SDWebImage,dreampiggy/SDWebImage,awkward/SDWebImage,awkward/SDWebImage,dreampiggy/SDWebImage,tualatrix/SDWebImage,awkward/SDWebImage,Insfgg99x/SDWebImage