Modernize Thread
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
This commit is contained in:
@ -267,12 +267,13 @@ void image_compress_cvtt(Image *p_image, float p_lossy_quality, Image::UsedChann
|
||||
job_queue.num_tasks = static_cast<uint32_t>(tasks.size());
|
||||
|
||||
for (int i = 0; i < num_job_threads; i++) {
|
||||
threads_wb[i] = Thread::create(_digest_job_queue, &job_queue);
|
||||
threads_wb[i] = memnew(Thread);
|
||||
threads_wb[i]->start(_digest_job_queue, &job_queue);
|
||||
}
|
||||
_digest_job_queue(&job_queue);
|
||||
|
||||
for (int i = 0; i < num_job_threads; i++) {
|
||||
Thread::wait_to_finish(threads_wb[i]);
|
||||
threads_wb[i]->wait_to_finish();
|
||||
memdelete(threads_wb[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user