Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,51 @@
#import "SThreadPoolQueue.h"
#import "SThreadPool.h"
@interface SThreadPoolQueue ()
{
__weak SThreadPool *_threadPool;
NSMutableArray *_tasks;
}
@end
@implementation SThreadPoolQueue
- (instancetype)initWithThreadPool:(SThreadPool *)threadPool
{
self = [super init];
if (self != nil)
{
_threadPool = threadPool;
_tasks = [[NSMutableArray alloc] init];
}
return self;
}
- (void)addTask:(SThreadPoolTask *)task
{
SThreadPool *threadPool = _threadPool;
[threadPool _workOnQueue:self block:^
{
[_tasks addObject:task];
}];
}
- (SThreadPoolTask *)_popFirstTask
{
if (_tasks.count != 0)
{
SThreadPoolTask *task = _tasks[0];
[_tasks removeObjectAtIndex:0];
return task;
}
return nil;
}
- (bool)_hasTasks
{
return _tasks.count != 0;
}
@end