Çoktan programlama için oldukça yeni ve tamam olup olmadığını merak ediyorum veyaMultithreading programlamada atomik bir BOOL bayrağının yapılması mantıklı olur mu?
@property BOOL shouldDoIt; //atomic
gibi bir özellik oluşturmak için
- (void) loop{
// ... do stuff ...
if (self.shouldDoIt) {
[self doIt];
self.shouldDoIt = NO;
}
// ... do more stuff ...
}
- (void) methodCalledFromMainThread{
self.shouldDoIt = YES;
}
- (void) methodCalledFromMainThread{
self.shouldDoIt = YES;
}
var mı? Atomun atomik olmayana göre yavaş olduğunu biliyorum ve programımın daha fazla hıza ihtiyacı var ama atomik kullanmıyorsanız if (shouldDoIt){
yapıyor mu?
Sadece ** yazar ** iş parçacığı ve ** okuyucu ** iş parçacığı kullanıyorsak, değişken ** 'ye kilitlenmemiş erişime ihtiyacımız var. ElbDoI ** elbette ana iş parçacığı beklemeli ** beklemede ** 0 olmalı tekrar ayarlanmadan önce ** shouldDoI **. –
JeremyP, bana geri ve daha önce herhangi bir geri ayarlanmama arasındaki farkı fark etmemi sağladınız. OSAtomicTestAndClear/SetBarrier() için +1;) – nacho4d