Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 19792|Jawab: 0

[Sumber] Penggunaan SyncRoot di StringDictionary

[Salin tautan]
Diposting pada 23/11/2016 14.26.38 | | | |

Pemrograman berorientasi objek C#, menyediakan banyak kelas operasi yang ramah pengguna, sekarang StringDictionary ini adalah kumpulan kelas yang berspesialisasi dalam menyimpan string sebagai kunci dan nilai, arti dari kelas ini adalah: C# tahu bahwa string dalam jenis nilai cukup banyak digunakan, jenis nilai lain juga dapat dikonversi menjadi jenis string yang sesuai, ini adalah arti dari koleksi ini, tetapi Anda masih dapat menggunakan objek koleksi lain untuk menggantikannya, tetapi perhatikan satu titik, Jika itu adalah penyimpanan string, ini dapat mengurangi kehilangan memori dan mengurangi waktu yang dibutuhkan untuk menjalankan program


SyncRoot dapat digunakan untuk menyinkronkan akses ke StringDictionary

Terus terang, ini adalah konsep kunci, mari kita tulis program untuk mengujinya:

Kodenya adalah sebagai berikut:



Kami memiliki dua utas secara bersamaan untuk menambahkan data ke kamus StringDictionary,

Perbedaan waktu eksekusi antara utas pertama dan utas kedua adalah satu detik, untuk memperlebar perbedaan waktu dan mencegah eksekusi terlalu cepat.

Anda dapat melihat bahwa utas telah pergi ke dua metode, dan saat menambahkan data kedua, mereka telah menunggu data pertama ditambahkan sebelum menambahkan data kedua, dan waktu penambahannya sangat cepat.

Di bawah ini, kami akan menulisnya dengan cara yang berbeda agar lebih mudah dipahami:





3 utas dibuka, dan data ditambahkan, dan 3 utas dijalankan hampir bersamaan, tetapi ketika data ditambahkan, masing-masing berjarak 10 detik.

Singkatnya, saat akses multi-utas, kita dapat menggunakan SyncRoot untuk memastikan keamanan utas




Mantan:Cara menggunakan WPF Trigger untuk mengganti tombol
Depan:c# Gunakan OCR untuk mengenali gambar Cina
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com