Apa yang Baru dalam Sinkronisasi
Windows menyertakan elemen pemrograman baru berikut ini untuk sinkronisasi.
Windows 8
Fungsi Baru
-
Menghapus penghubung sinkronisasi.
-
Menyebabkan utas panggilan menunggu pada penghubung sinkronisasi hingga jumlah maksimum utas telah memasuki pembatas.
-
Mengambil hasil operasi yang tumpang tindih pada file yang ditentukan, pipa bernama, atau perangkat komunikasi dalam interval waktu habis yang ditentukan. Utas panggilan dapat melakukan penantian yang dapat diperingatkan.
-
Menentukan jumlah maksimum utas dan jumlah putaran untuk hambatan sinkronisasi baru.
-
Menunggu nilai pada alamat yang ditentukan berubah.
-
Membangunkan semua utas yang menunggu nilai alamat berubah.
-
Membangunkan satu utas yang menunggu nilai alamat berubah.
Fungsi Baru yang Saling Di-interlock
-
Melakukan operasi penambahan atomik 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 Atom AND pada nilai LONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi Atom AND 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 Atom AND pada nilai LONGLONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Menguji bit yang ditentukan dari nilai LONG64 yang ditentukan dan melengkapinya. Operasi ini bersifat atomik.
-
Menguji bit yang ditentukan dari nilai LONG yang ditentukan dan mengaturnya ke 0. Operasi ini bersifat atomik, dan dilakukan dengan memperoleh semantik pemesanan memori.
-
Menguji bit yang ditentukan dari nilai LONG yang ditentukan dan mengaturnya ke 0. Operasi ini bersifat atomik, dan dilakukan menggunakan semantik rilis memori.
-
Menguji bit yang ditentukan dari nilai LONG yang ditentukan dan mengaturnya ke 1. Operasi ini bersifat atomik, dan dilakukan dengan memperoleh semantik pemesanan memori.
-
Menguji bit yang ditentukan dari nilai LONG yang ditentukan dan mengaturnya ke 1. Operasi ini bersifat atomik, dan dilakukan dengan semantik urutan memori rilis.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai dan pertukaran 32-bit yang ditentukan dengan nilai 32-bit lainnya 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 dan pertukaran 16-bit yang ditentukan dengan nilai 16-bit lainnya berdasarkan hasil perbandingan.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai dan pertukaran 16-bit yang ditentukan dengan nilai 16-bit lainnya berdasarkan hasil perbandingan. Operasi ini dilakukan dengan memperoleh semantik pemesanan memori.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai dan pertukaran 16-bit yang ditentukan dengan nilai 16-bit lainnya berdasarkan hasil perbandingan. Pertukaran dilakukan dengan semantik pemesanan memori rilis.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi ini membandingkan dua nilai dan pertukaran 16-bit yang ditentukan dengan nilai 16-bit lainnya 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 dan pertukaran 64-bit yang ditentukan dengan nilai 64-bit lainnya 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 dan pertukaran 128-bit yang ditentukan dengan nilai 128-bit lainnya berdasarkan hasil perbandingan.
-
Melakukan operasi perbandingan dan pertukaran atomik pada nilai yang ditentukan. Fungsi membandingkan dua nilai penunjuk dan pertukaran yang ditentukan dengan nilai pointer lain berdasarkan hasil perbandingan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Penurunan (berkurang satu) nilai variabel 32-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Penurunan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik.
-
Penurunan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan dengan memperoleh semantik pemesanan memori.
-
Penurunan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan dengan semantik urutan memori rilis.
-
Penurunan (berkurang satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Penurunan (berkurang satu) nilai variabel 64-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 64-bit ke nilai yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 8-bit ke nilai yang ditentukan sebagai operasi atomik.
-
Mengatur variabel 16-bit ke nilai yang ditentukan sebagai operasi atomik. Operasi dilakukan menggunakan memperoleh semantik pengurutan memori.
-
Mengatur variabel 16-bit ke nilai yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Mengatur variabel 64-bit ke nilai yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Secara atomik bertukar sepasang alamat. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan penambahan atom dua nilai 32-bit. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan penambahan atom dua nilai 64-bit. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Kenaikan (meningkat satu per satu) nilai variabel 32-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Kenaikan (meningkat satu per satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik.
-
Kenaikan (meningkat satu per satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi dilakukan menggunakan memperoleh semantik pengurutan memori.
-
Kenaikan (meningkat satu per satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi dilakukan menggunakan semantik urutan memori rilis.
-
Kenaikan (meningkat satu per satu) nilai variabel 16-bit yang ditentukan sebagai operasi atomik. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Kenaikan (meningkat satu per satu) nilai 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 Atom OR pada nilai karakter yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi Atom OR pada nilai SHORT yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Melakukan operasi Atom OR pada nilai LONGLONG yang ditentukan. Operasi ini dilakukan secara atomik, tetapi tanpa menggunakan penghalang memori.
-
Menyisipkan daftar yang ditautkan dengan nyanyian di bagian depan daftar lain yang ditautkan dengan nyanyian. 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.
-
Upaya untuk memperoleh kunci pembaca/penulis ramping (SRW) dalam mode eksklusif. Jika panggilan berhasil, utas panggilan mengambil kepemilikan kunci.
-
Upaya untuk memperoleh kunci pembaca/penulis ramping (SRW) dalam mode bersama. Jika panggilan berhasil, utas panggilan mengambil kepemilikan kunci.
Struktur Baru
-
Berisi informasi konteks untuk timer yang diaktifkan dengan SetWaitableTimerEx.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk