mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Move app to a dedicated folder
This commit is contained in:
51
Telegram/Watch/Extension/SSignalKit/SThreadPoolQueue.m
Normal file
51
Telegram/Watch/Extension/SSignalKit/SThreadPoolQueue.m
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user