G‘afarov, A. F. Galimyanov parallel hisobiyotlar qo'llanma Qozon
Download 1.46 Mb.
|
ParVychGafGal (1)
- Bu sahifa navigatsiya:
- Parallel dasturlash.
- Tarmoqlarni yaratish va ishga tushirish. Malumotlarni oqimga uzatish. Thread sinf konstruktori
- ThreadStart usuliga
Samarali
foydalanish bloklangan MARKAZIY PROTSESSOR. Ko'p ish zarrachalari ip boshqasidan javob kutayotganda foydali bo'ladi kompyuter yoki uskunaning bir qismi. Bir ip esa vazifa bajarilayotganda bloklaydi, boshqa ish zarralari mumkin boshqa boshqarilmaydigan kompyuterdan foydalaning. 55 Machine Translated by Google Parallel dasturlash. Buni amalga oshiradigan kod hisoblash intensiv, ko'p yadroli qurilmalarda tezroq ishlashi mumkin yoki ko'p protsessorli kompyuterlar, agar ish yuki bo'lsa bir nechta iplar orasida taqsimlangan. So'rovlarni bir vaqtda qayta ishlash. Serverda mijoz so'rovlari bir vaqtning o'zida kelishi mumkin, shuning uchun ularni qayta ishlash kerak parallel. Multithreading, shuningdek, rejalashtirishda resurs va protsessor xarajatlarini keltirib chiqaradi oqimlarni almashtirish. Multithreading har doim ham dasturni tezlashtirmaydi - bu noto'g'ri ishlatilsa, hatto ishlashni sekinlashtirishi mumkin. Tarmoqlarni yaratish va ishga tushirish. Ma'lumotlarni oqimga uzatish. Thread sinf konstruktori yordamida mavzular yaratiladi , qayerdan boshlash kerakligini ko'rsatuvchi delegatni ThreadStart- ga o'tkazish ishlash. ThreadStart delegati shunday aniqlanadi: umumiy delegat bekor ThreadStart ();Ipning bajarilishi u tugaguncha davom etadi. usuli, shundan so'ng ip tugaydi. Quyida foydalanish misoli keltirilgan TheadStart delegatini yaratish uchun kengaytirilgan C# sintaksisi : ThreadTest sinfi { statik bo'shliq Main() { Thread thread1 = new Thread(yangi ThreadStart(Go)); thread1.Start(); Go(); } statik void Go() { Console.WriteLine("salom!"); 56 Machine Translated by Google } } Ushbu misolda thread1 Go() usulini bajaradi va xuddi shunday vaqt, bu usul asosiy ipda bajariladi. Natijada ikkita lahzali salom chiqishiga yaqin. Argumentlarni ipning maqsad usuliga o'tkazishning eng oddiy usuli usulini kerakli bilan chaqiradigan lambda ifodasini bajaring argumentlar: sinf dasturi { statik bo'shliq Main() { Thread thread1 = new Thread(() => Chop etish ("1-mavzudan salom!")); thread1.Start(); } statik bekor Chop etish (string xabari) { Console.WriteLine(xabar); } } Boshqa usul - ThreadStart usuliga argument o'tkazish : sinf dasturi { statik bo'shliq Main() { Thread thread1 = new Thread(Chop etish); thread1.Start("1-mavzudan salom!"); } statik bekor Chop etish (obyekt messageObj) 57 Machine Translated by Google { string xabar = (string)messageObj; Console.WriteLine(xabar); } } Bu Thread konstruktori haddan tashqari yuklanganligi sababli ishlaydi ikki delegatdan birini qabul qiling: Download 1.46 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling