Pertanyaan yang diberi tag «thread-safety»

Sepotong kode aman untuk thread jika hanya memanipulasi struktur data dengan cara yang memungkinkan eksekusi kode ini secara konsisten dengan beberapa thread. Kode dapat berupa thread safe, aman bersyarat (perlu pengecualian bersama) atau tidak aman (hanya dapat digunakan dengan aman oleh satu thread).

11
Apa arti threadsafe?
Baru-baru ini saya mencoba mengakses kotak teks dari utas (selain utas UI) dan pengecualian dilemparkan. Ia mengatakan sesuatu tentang "kode tidak menjadi thread aman" dan akhirnya saya menulis sebuah delegasi (sampel dari MSDN membantu) dan memanggilnya sebagai gantinya. Tapi meski begitu saya tidak begitu mengerti mengapa semua kode tambahan itu …

15
Properti Thread-safe List <T>
Saya ingin implementasi List&lt;T&gt;sebagai properti yang dapat digunakan dengan aman tanpa keraguan. Sesuatu seperti ini: private List&lt;T&gt; _list; private List&lt;T&gt; MyT { get { // return a copy of _list; } set { _list = value; } } Sepertinya saya masih perlu mengembalikan salinan (kloning) dari koleksi jadi jika di …



8
Apa cara terbaik untuk mengimplementasikan Dictionary yang aman untuk thread?
Saya dapat menerapkan Kamus aman-utas di C # dengan mengambil dari IDictionary dan mendefinisikan objek SyncRoot pribadi: public class SafeDictionary&lt;TKey, TValue&gt;: IDictionary&lt;TKey, TValue&gt; { private readonly object syncRoot = new object(); private Dictionary&lt;TKey, TValue&gt; d = new Dictionary&lt;TKey, TValue&gt;(); public object SyncRoot { get { return syncRoot; } } public …


3
Keamanan Benang dalam kamus Python
Saya memiliki kelas yang memegang kamus class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders Dan saya menjalankan 4 utas (satu untuk setiap restoran) yang memanggil metode tersebut OrderBook.addOrder . Berikut adalah fungsi yang dijalankan oleh setiap utas: def addOrders(restaurant_name): …

4
Apakah variabel global aman untuk thread di Flask? Bagaimana cara berbagi data antar permintaan?
Dalam aplikasi saya, status objek umum diubah dengan membuat permintaan, dan responsnya bergantung pada status. class SomeObj(): def __init__(self, param): self.param = param def query(self): self.param += 1 return self.param global_obj = SomeObj(0) @app.route('/') def home(): flash(global_obj.query()) render_template('index.html') If I run this on my development server, I expect to get …

2
Apakah utas SecureRandom aman?
Apakah SecureRandombenang aman? Artinya, setelah menginisialisasi, dapatkah akses ke nomor acak berikutnya diandalkan agar thread safe? Memeriksa kode sumber tampaknya menunjukkan bahwa memang benar, dan laporan bug ini tampaknya menunjukkan bahwa kurangnya dokumentasinya sebagai thread safe adalah masalah javadoc. Adakah yang mengonfirmasi bahwa ini memang thread safe?

4
iphone ios berjalan di utas terpisah
Apa cara terbaik untuk menjalankan kode di utas terpisah? Apakah itu: [NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL]; Atau: NSOperationQueue *queue = [NSOperationQueue new]; NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(doStuff:) object:nil; [queue addOperation:operation]; [operation release]; [queue release]; Saya telah melakukan cara kedua tetapi Buku Masakan Wesley yang telah saya baca menggunakan …

7
Bagaimana cara membuat pengujian JUnit menunggu?
Saya memiliki tes JUnit yang ingin saya tunggu selama beberapa waktu secara sinkron. Tes JUnit saya terlihat seperti ini: @Test public void testExipres(){ SomeCacheObject sco = new SomeCacheObject(); sco.putWithExipration("foo", 1000); // WAIT FOR 2 SECONDS assertNull(sco.getIfNotExipred("foo")); } Saya mencoba Thread.currentThread().wait(), tetapi itu melempar IllegalMonitorStateException (seperti yang diharapkan). Apakah ada trik …





Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.