Thursday 17 August 2017

Proses Waitforex C # Contoh Baca


Elina: terima kasih atas jawabannya Ada beberapa catatan di bagian bawah dok MSDN ini (msdn. microsoften-uslibraryhellip) yang memperingatkan tentang potensi kebuntuan jika Anda membaca sampai akhir aliran stdout dan stderr yang diarahkan ulang secara bersamaan. Sulit untuk mengetahui apakah solusi Anda rentan terhadap masalah ini. Juga, nampaknya Anda mengirim output prosesststoutstderr kembali sebagai masukan. Mengapa. ) Ndash Matius Piatt 26 Sep 16 at 4:42 Ini adalah solusi berbasis Task Parallel Library (TPL) yang lebih modern, yang dapat diprediksi selama 4.5 dan yang lebih tinggi. Contoh Penggunaan Implementasi dijawab 5 Okt 16 at 10:54 Saya hal ini pendekatan yang sederhana dan lebih baik (kita tidak memerlukan AutoResetEvent): dijawab 14 Jun 12 at 14:29 Benar, tapi seharusnya tidak Anda lakukan. FileName Path quotggsci. exequot quot lt Obeycommand. txtquot untuk menyederhanakan kode Anda juga Atau mungkin sesuatu yang setara dengan perintah quotecho quot Pathmarkggsci. exequot jika Anda benar-benar tidak ingin menggunakan file obeycommand. txt yang terpisah. Ndash Amit Naidu 13 Jun 13 at 22:03 Solusi Anda tidak memerlukan AutoResetEvent tapi polling Anda. Bila Anda melakukan polling daripada menggunakan event (jika tersedia) maka Anda menggunakan CPU tanpa alasan dan itu menunjukkan bahwa Anda adalah programmer yang buruk. Solusi Anda sangat buruk bila dibandingkan dengan yang lain menggunakan AutoResetEvent. (Tapi saya tidak memberi Anda - karena Anda mencoba membantu). Ndash Eric Ouellet Nov 7 14 at 18:38 Saya memiliki masalah yang sama, tapi alasannya berbeda. Namun akan terjadi di bawah Windows 8, tapi tidak di bawah Windows 7. Baris berikut tampaknya telah menyebabkan masalah. Solusinya adalah TIDAK menonaktifkan UseShellExecute. Saya sekarang menerima jendela popup Shell, yang tidak diinginkan, tapi jauh lebih baik daripada program yang menunggu sesuatu yang tidak pasti terjadi. Jadi saya menambahkan pekerjaan berikut-sekitar untuk itu: Sekarang satu-satunya hal yang mengganggu saya adalah mengapa hal ini terjadi di bawah Windows 8 di tempat pertama. Menjawab 13 Jan 15 at 10:35 Saya mencoba membuat sebuah kelas yang bisa memecahkan masalah Anda dengan menggunakan aliran asynchronous, dengan mencatat jawaban Mark Byers, Rob, stevejay. Dengan melakukan itu, saya menyadari bahwa ada bug yang berhubungan dengan arus keluaran proses asinkron yang dibaca. Anda tidak dapat melakukannya: Anda akan menerima System. InvalidOperationException. StandardOut belum dialihkan atau prosesnya belum dimulai. Kemudian Anda harus memulai output asinkron yang dibaca setelah proses dimulai: Melakukannya, membuat kondisi balapan karena arus keluaran dapat menerima data sebelum Anda menyetelnya ke asinkron: Kemudian beberapa orang dapat mengatakan bahwa Anda hanya perlu membaca arus sebelum Anda Atur ke asinkron. Tapi masalah yang sama terjadi. Akan ada kondisi balapan antara membaca sinkron dan mengatur aliran ke mode asinkron. Tidak ada cara untuk mencapai pembacaan asynchronous yang aman dari arus keluaran suatu proses dengan cara yang sebenarnya Proses dan ProsesStartInfo telah dirancang. Sebaiknya Anda menggunakan asynchronous read seperti yang disarankan oleh pengguna lain untuk kasus Anda. Tapi Anda harus sadar bahwa Anda bisa kehilangan beberapa informasi karena kondisi balapan. Mari membaca apa yang dikatakan MSDN tentang hal itu: WaitforExit () () () overload digunakan untuk membuat thread saat ini menunggu sampai proses yang terkait berakhir. Metode ini menginstruksikan komponen Proses untuk menunggu jumlah waktu yang tak terbatas agar proses keluar. Hal ini dapat menyebabkan aplikasi berhenti merespons. Misalnya, jika Anda memanggil CloseMainWindow untuk sebuah proses yang memiliki antarmuka pengguna, permintaan ke sistem operasi untuk menghentikan proses yang terkait mungkin tidak akan ditangani jika proses penulisannya ditulis untuk tidak pernah memasukkan lingkaran pesannya. Kelebihan beban ini memastikan bahwa semua pemrosesan telah selesai, termasuk penanganan kejadian asinkron untuk keluaran standar yang dialihkan. Anda harus menggunakan kelebihan beban ini setelah melakukan panggilan ke WaitForExit (Int32) yang berlebihan saat keluaran standar telah dialihkan ke penangan event asinkron. Ini tentu saja. Apa yang membuat Anda berpikir bahwa tidak menunggu proses Catatan selesai Apa tanda-tanda itu Apa itu bukti Jumat, 20 Februari 2009 20:13 Tidak yakin apakah ini baru saja berubah tapi kembali pada aplikasi hari di jendela Mobile tidak pernah benar-benar tertutup saat Anda menekan X untuk menutupnya, mereka hanya akan meminimalkan dan terus berlari di latar belakang (ini bukan bug, itu adalah sebuah fitur, karena lain kali Anda memulai aplikasi itu akan dimulai dengan sangat cepat, yah Saya tahu, gila tapi benar) sehingga bisa jadi mengapa WaitForExit mungkin bertingkah aneh dan menunggu aplikasi startup bukan exit. Tapi sekali lagi itu hanya spekulasi berdasarkan knowlegde versi kuno windows mobile. Friday, February 20, 2009 11:03 PM Id ingin menjawab pertanyaan ini. Im di Windows Mobile 6 Standard dan Im mencoba menelurkan contoh browser. Id ingin menunggu sampai pengguna menutup browser. Tapi WaitForExit kembali sangat cepat. Inilah kodenya: Proses p new Process () p. StartInfo. Arguments quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute false p. StartInfo. FileName quotIExplore. exequot p. Start () p. WaitForExit () MessageBox. Show (quotNow browser harus closedquot) Apa yang harus menjadi cara yang tepat untuk mendapatkan resuts yang diharapkan Senin, 08 Juni 2009 10:45 PM Dimana simbolnya. simbol. AlexB Tuesday, June 09, 2009 9:58 PM Im melihat masalah yang sama, tapi di XP. Saya pikir buktinya bisa dilihat di debugger manapun (seperti yang saya lihat), atau di aplikasi konsol apapun (belum tentu di Mobile) Rabu, 02 September 2009 20:35 Kecuali Anda tidak kemudian mendapatkan objek proses yang bisa Anda gunakan. menggunakan. Jika Anda mencoba Dim myProc Sebagai Proses Baru () myProc Process. Start (quotiexplorequot, quotfinance. yahooqhpsquot symbol) myProc. WaitForExit () Ini masih akan segera kembali. Rabu, 02 September 2009 08:48 Masalahnya adalah Anda tidak memulai contoh baru iexplore. exe. Anda hanya membuat jendela baru pada proses yang ada. Dugaan saya adalah iexplore. exe dimulai, melihat contoh sebelumnya dan berkomunikasi dengan instance sebelumnya sehingga membuka jendela baru, dan kemudian contoh ini Anda langsung keluar. Jadi tingkah laku itu benar dan yang diharapkan. Blog. voidnish Rabu, 02 September 2009 20:52 Microsoft melakukan survei online untuk memahami pendapat Anda tentang situs Msdn Web. Jika Anda memilih untuk berpartisipasi, survei online akan dipresentasikan kepada Anda saat Anda meninggalkan situs MSDN. Apakah Anda ingin berpartisipasi?

No comments:

Post a Comment