@dj Zheng Doujiu Saya tidak tahu sama ada ini betul atau tidak ia direka berdasarkan nyahpepijat dan kemudian outputnya ialah t dan bukannya nod. tidak tahu jika anda juga menyatakan maksud ini
Enq mudah terasa seperti tiada kaitan dengan konkurensi, ia hanyalah penubuhan senarai berganda. Senarai terpaut di Java tidak berbeza daripada yang di C++, kecuali Java merangkum penunjuk ke dalam rujukan, yang sebenarnya masih memainkan peranan penunjuk. Nod t boleh dilihat secara abstrak sebagai nod sebelumnya bagi nod yang baru dimasukkan Nod pertama masuk, keluar dahulu dalam baris gilir. jadi Nod t = ekor. Mengabaikan situasi baris gilir kosong, jika nod bergabung dengan baris gilir, pra dan seterusnya nod baharu mesti diproses terlebih dahulu, jadi node.pre = ekor;. Kemudian halakan nod seterusnya seterusnya ke nod baharu, iaitu, nod, t.next = nod. Seterusnya, pertimbangkan baris gilir kosong. Di sini, baris gilir dimulakan secara paksa dengan Node() baharu Pada masa ini, ekor == kepala. Bagi tidak memasukkan nod yang baru dimasukkan, saya tidak faham sebab ini secara intuitif, compareAndSetHead(node) adalah lebih biasa. Sudah tentu, ia tidak mengubah nilai pra dan seterusnya secara langsung seperti baris gilir satu utas, tetapi dirangkumkan ke dalam fungsi comapreAndSet* pengecualian harus dikekalkan di sini.
Ha, anda mungkin tidak dapat memahami kaedah enq itu sekarang Jika anda belum mempelajarinya secara khusus, saya rasa tidak ramai yang dapat memahaminya. Mempelajari penyegerakan tanpa kunci adalah bahagian yang sangat maju dalam pelbagai benang.
@dj Zheng Doujiu Saya tidak tahu sama ada ini betul atau tidak ia direka berdasarkan nyahpepijat dan kemudian outputnya ialah t dan bukannya nod. tidak tahu jika anda juga menyatakan maksud ini
Enq mudah terasa seperti tiada kaitan dengan konkurensi, ia hanyalah penubuhan senarai berganda. Senarai terpaut di Java tidak berbeza daripada yang di C++, kecuali Java merangkum penunjuk ke dalam rujukan, yang sebenarnya masih memainkan peranan penunjuk.
Nod t boleh dilihat secara abstrak sebagai nod sebelumnya bagi nod yang baru dimasukkan Nod pertama masuk, keluar dahulu dalam baris gilir. jadi Nod t = ekor. Mengabaikan situasi baris gilir kosong, jika nod bergabung dengan baris gilir, pra dan seterusnya nod baharu mesti diproses terlebih dahulu, jadi node.pre = ekor;. Kemudian halakan nod seterusnya seterusnya ke nod baharu, iaitu, nod, t.next = nod. Seterusnya, pertimbangkan baris gilir kosong. Di sini, baris gilir dimulakan secara paksa dengan Node() baharu Pada masa ini, ekor == kepala. Bagi tidak memasukkan nod yang baru dimasukkan, saya tidak faham sebab ini secara intuitif, compareAndSetHead(node) adalah lebih biasa.
Sudah tentu, ia tidak mengubah nilai pra dan seterusnya secara langsung seperti baris gilir satu utas, tetapi dirangkumkan ke dalam fungsi comapreAndSet* pengecualian harus dikekalkan di sini.
Ha, anda mungkin tidak dapat memahami kaedah enq itu sekarang Jika anda belum mempelajarinya secara khusus, saya rasa tidak ramai yang dapat memahaminya. Mempelajari penyegerakan tanpa kunci adalah bahagian yang sangat maju dalam pelbagai benang.