Apa yang Baru dalam Sinkronisasi
Windows menyertakan elemen pemrograman baru berikut untuk sinkronisasi.
Windows 8
Fungsi Baru
-
Menghapus hambatan sinkronisasi.
-
Menyebabkan utas panggilan menunggu pada penghalang sinkronisasi hingga jumlah maksimum utas telah memasuki penghalang.
-
Mengambil hasil operasi yang tumpang tindih pada file yang ditentukan, pipa bernama, atau perangkat komunikasi dalam interval waktu habis yang ditentukan. Thread panggilan dapat melakukan penantian yang dapat diberikan peringatan.
-
Menentukan jumlah maksimum utas dan jumlah putar untuk hambatan sinkronisasi baru.
-
Menunggu nilai di alamat yang ditentukan untuk berubah.
-
Mengaktifkan semua utas yang menunggu perubahan nilai dari sebuah alamat.
-
Membangunkan satu utas yang sedang menunggu nilai alamat berubah.
Fungsi Baru yang Saling Terhubung
-
Melakukan operasi penambahan atom pada nilai LONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi penambahan atomik pada nilai LONGLONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi AND atomik pada nilai LONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi AND atomik pada nilai karakter yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi Atom AND pada nilai SHORT yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi AND atomik pada nilai LONGLONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Menguji dan melengkapi bit yang ditentukan dari nilai LONG64 yang spesifik. Operasi ini atomik.
-
Menguji bit yang ditentukan dari nilai LONG yang ditentukan dan mengaturnya ke 0. Operasi ini atomik, dan dilakukan dengan memperoleh semantik pengurutan memori.
-
Menguji bit tertentu dari nilai LONG yang ditentukan dan mengaturnya ke 0. Operasi ini bersifat atomik, dan dilakukan dengan menggunakan semantik pelepasan memori.
-
Menguji bit yang ditentukan dari nilai LONG dan menjadikannya 1. Operasi ini atomik, dan dilakukan dengan memperoleh semantik pengurutan memori.
-
Menguji bit yang ditentukan dari nilai LONG dan mengaturnya menjadi 1. Operasi ini bersifat atomik dan dilakukan dengan semantik pengurutan memori yang dilepaskan.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 32-bit yang ditentukan dan menukarnya dengan nilai 32-bit lain berdasarkan hasil perbandingan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 16-bit dan berdasarkan hasil perbandingan, menukarnya dengan nilai 16-bit lainnya.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 16-bit yang ditentukan dan menukar dengan nilai 16-bit lainnya berdasarkan hasil perbandingan. Operasi ini dilakukan dengan memperoleh semantik pengurutan memori.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 16-bit dan menukarkannya dengan nilai 16-bit lainnya berdasarkan hasil perbandingan. Pertukaran dilakukan dengan semantik pengurutan memori rilis.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 16-bit yang ditentukan dan menukar dengan nilai 16-bit lain berdasarkan hasil dari perbandingan tersebut. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 64-bit yang ditentukan dan menukarnya dengan nilai 64-bit lain berdasarkan hasil perbandingan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai 128-bit yang ditentukan dan menukarnya dengan nilai 128-bit lainnya berdasarkan hasil perbandingan.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai penunjuk dan menukarnya dengan nilai penunjuk lain berdasarkan hasil perbandingan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengurangi (mengurangi satu) nilai variabel 32-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Pengurangan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atom.
-
Mengurangi (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atom. Operasi ini dilakukan dengan memperoleh semantik pengurutan memori.
-
Mengurangi (berkurang satu) nilai dari variabel 16-bit yang ditentukan sebagai operasi atom. Operasi ini dilakukan dengan semantik pengurutan memori 'release'.
-
Pengurangan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atom. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Pengurangan (berkurang satu) nilai variabel 64-bit yang ditentukan sebagai operasi atom. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 64-bit ke nilai yang ditentukan sebagai operasi atom. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 8-bit ke nilai yang ditentukan sebagai operasi atom.
-
Mengatur variabel 16-bit ke nilai yang ditentukan sebagai operasi atom. Operasi ini dilakukan dengan menggunakan semantik pengurutan memori tipe acquire.
-
Mengatur variabel 16-bit ke nilai yang ditentukan sebagai operasi atom. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 64-bit ke nilai yang ditentukan sebagai operasi atom. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Menukar sepasang alamat secara atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi penambahan atomik dari dua nilai 32-bit. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan penambahan atom dari dua nilai 64-bit. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Meningkatkan (bertambah satu) nilai variabel 32-bit yang ditentukan secara atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Kenaikan (bertambah satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik.
-
Meningkatkan (menambah satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan menggunakan semantik pengurutan memori jenis acquire.
-
Menambah (menaikkan satu) nilai variabel 16-bit yang ditentukan secara atomik. Operasi dilakukan menggunakan semantik pengurutan memori rilis.
-
Meningkatkan (menambah satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Meningkatkan (menambah satu) nilai dari variabel 64-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi Atom OR pada nilai LONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi OR atomik pada nilai karakter yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi atom ATAU terhadap nilai SHORT yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi OR atomik pada nilai LONGLONG dan yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Menyisipkan daftar tertaut tunggal di awal daftar tertaut tunggal lainnya. Akses ke daftar disinkronkan pada sistem multiprosesor. Versi metode ini tidak menggunakan konvensi panggilan __fastcall.
-
Melakukan operasi XOR atomik pada nilai LONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi XOR atomik pada nilai karakter yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi XOR atomik pada nilai SHORT yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi XOR atomik pada nilai LONGLONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
Windows 7
Fungsi Baru
-
Mengaktifkan timer yang dapat ditunggu yang ditentukan dan menyediakan informasi konteks untuk timer.
-
Mencoba memperoleh kunci SRW (Slim Reader/Writer) dalam mode eksklusif. Jika panggilan berhasil, utas panggilan mengambil kepemilikan kunci.
-
Mencoba memperoleh kunci pembaca/penulis tipis (SRW) dalam mode bersama. Jika panggilan berhasil, utas panggilan mengambil kepemilikan kunci.
Struktur Baru
-
Berisi informasi konteks untuk timer yang diaktifkan dengan SetWaitableTimerEx.