Apa maksud atomicdan tujuan nonatomicdalam deklarasi properti? @property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName; @property(retain) UITextField *userName; Apa perbedaan operasional antara
Operasi atom tidak dapat dibagi. Istilah ini digunakan untuk menjelaskan transaksi dalam database, akses tingkat rendah dalam program multithread, dan operasi sistem file, antara lain.
Apa maksud atomicdan tujuan nonatomicdalam deklarasi properti? @property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName; @property(retain) UITextField *userName; Apa perbedaan operasional antara
Bagaimana cara kerja atom / volatile / tersinkronisasi secara internal? Apa perbedaan antara blok kode berikut? Kode 1 private int counter; public int getNextUniqueIndex() { return counter++; } Kode 2 private AtomicInteger counter; public int getNextUniqueIndex() { return...
Dalam buku Java Efektif, ia menyatakan: Spesifikasi bahasa menjamin bahwa membaca atau menulis variabel adalah atom kecuali variabelnya bertipe longatau double[JLS, 17.4.7]. Apa arti "atomik" dalam konteks pemrograman Java, atau pemrograman secara
Saya agak mengerti bahwa AtomicInteger dan variabel Atom lainnya memungkinkan akses bersamaan. Dalam kasus apa kelas ini biasanya
Saya mengerti itu std::atomic<>adalah benda atom. Tetapi atom sampai sejauh mana? Menurut pemahaman saya, operasi bisa bersifat atom. Apa sebenarnya yang dimaksud dengan membuat objek atom? Misalnya jika ada dua utas yang secara bersamaan mengeksekusi kode berikut: a = a + 12; Lalu apakah...
Secara umum, untuk int num, num++(atau ++num), sebagai operasi baca-modifikasi-tulis, bukan atom . Tapi saya sering melihat kompiler, misalnya GCC , menghasilkan kode berikut untuk itu ( coba di sini ): Karena baris 5, yang sesuai dengan num++satu instruksi, dapatkah kita menyimpulkan bahwa num++...
Saya tahu bahwa operasi gabungan seperti i++tidak aman karena melibatkan beberapa operasi. Tetapi apakah memeriksa referensi dengan sendirinya operasi yang aman? a != a //is this thread-safe Saya mencoba memprogram ini dan menggunakan beberapa utas tetapi tidak gagal. Saya kira saya tidak bisa...
Jika ada dua utas yang mengakses variabel global, maka banyak tutorial mengatakan membuat variabel tidak stabil untuk mencegah kompiler melakukan caching variabel dalam register dan karenanya tidak diperbarui dengan benar. Namun dua utas yang mengakses variabel bersama adalah sesuatu yang...
Apa perbedaan antara metode lazySetdan ? The dokumentasi tidak memiliki banyak untuk mengatakan tentang :setAtomicIntegerlazySet Akhirnya disetel ke nilai yang diberikan. Tampaknya nilai yang disimpan tidak akan langsung disetel ke nilai yang diinginkan, tetapi akan dijadwalkan untuk disetel...
Apa perbedaan antara Atomic dan Critical di OpenMP? aku bisa melakukan ini #pragma omp atomic g_qCount++; tapi bukankah ini sama dengan #pragma omp
Secara umum, apa yang dapat kita anggap remeh ketika kita menambahkan file di UNIX dari berbagai proses? Apakah mungkin kehilangan data (satu proses menimpa perubahan yang lain)? Apakah mungkin data rusak? (Misalnya, setiap proses menambahkan satu baris per penambahan ke file log, apakah mungkin...
Berapa biaya operasi atom (salah satu dari perbandingan-dan-tukar atau penambahan / pengurangan atom)? Berapa siklus yang dikonsumsi? Apakah akan menjeda prosesor lain di SMP atau NUMA, atau akan memblokir akses memori? Apakah itu akan membersihkan buffer pemesanan ulang di CPU yang rusak? Efek...
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()adalah salah satu primitif pertukaran-perbandingan yang disediakan dalam C ++ 11. Ini lemah dalam arti mengembalikan salah meskipun nilai objek sama dengan expected. Ini karena kegagalan palsu pada beberapa...
Saya sedang mengerjakan proyek dengan C ++ 11 dan saya mencoba kode berikut #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } Saya mendapatkan kesalahan kompilator error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const...
Saya ingin menulis kode portabel (Intel, ARM, PowerPC ...) yang memecahkan varian masalah klasik: Initially: X=Y=0 Thread A: X=1 if(!Y){ do something } Thread B: Y=1 if(!X){ do something } di mana tujuannya adalah untuk menghindari situasi di mana kedua utas melakukansomething . (Tidak...
Mempertimbangkan: void foo() { std::vector<std::atomic<int>> foo(10); ... } Apakah konten foo sekarang valid? Atau apakah saya perlu secara eksplisit mengulang dan menginisialisasi mereka? Saya telah memeriksa Godbolt dan tampaknya baik-baik saja, namun standar tampaknya sangat...
Saya berjuang dengan Bagian 5.1.2.4 dari Standar C11, khususnya semantik Release / Acquire. Saya perhatikan bahwa https://preshing.com/20120913/acquire-and-release-semantics/ (antara lain) menyatakan bahwa: ... Rilis semantik mencegah penyusunan ulang memori dari rilis-rilis dengan operasi baca...
Premis: Saya bekerja dengan lingkungan embedded ARM (hampir bare-metal) di mana saya bahkan tidak memiliki C ++ 11 (with std::atomic<int>) tersedia, jadi harap hindari jawaban seperti " cukup gunakan standar C ++std::atomic<int> ": Saya tidak bisa . Apakah implementasi ARM dari...
Adakah yang bisa memberi tahu saya apakah std :: atomic :: is_lock_free () tidak statis dan juga constexpr? Setelah itu non-statis dan / atau sebagai non-constexpr tidak masuk akal bagi
Saya telah mendengarkan dan membaca beberapa artikel, pembicaraan, dan pertanyaan tentang stackoverflow std::atomic, dan saya ingin memastikan bahwa saya telah memahaminya dengan baik. Karena saya masih agak bingung dengan garis cache menulis visibilitas karena kemungkinan keterlambatan protokol...