Pertanyaan yang diberi tag «deadlock»



3
menunggu vs Task.Wait - Deadlock?
Saya tidak begitu mengerti perbedaan antara Task.Waitdan await. Saya memiliki sesuatu yang mirip dengan fungsi-fungsi berikut dalam layanan ASP.NET WebAPI: public class TestController : ApiController { public static async Task<string> Foo() { await Task.Delay(1).ConfigureAwait(false); return ""; } public async static Task<string> Bar() { return await Foo(); } public async static …


17
Apa itu jalan buntu?
Saat menulis aplikasi multi-utas, salah satu masalah paling umum yang dialami adalah kebuntuan. Pertanyaan saya kepada komunitas adalah: Apa itu jalan buntu? Bagaimana Anda mendeteksi mereka? Apakah Anda menanganinya? Dan akhirnya, bagaimana Anda mencegahnya terjadi?

5
'await' berfungsi, tetapi memanggil task.Result hang / deadlocks
Saya memiliki empat tes berikut dan yang terakhir hang saat saya menjalankannya. Mengapa ini terjadi: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); // …
126 c#  nunit  task  deadlock  async-await 

4
Peserta kembali mengunci C #
Akankah kode berikut mengakibatkan kebuntuan menggunakan C # di .NET? class MyClass { private object lockObj = new object(); public void Foo() { lock(lockObj) { Bar(); } } public void Bar() { lock(lockObj) { // Do something } } }

4
Penyebab proses menjadi korban kebuntuan
Saya memiliki proses dengan Select yang membutuhkan waktu lama untuk menyelesaikannya, dengan urutan 5 hingga 10 menit. Saat ini saya tidak menggunakan NOLOCK sebagai petunjuk untuk mesin database MS SQL. Pada saat yang sama kami memiliki proses lain yang melakukan pembaruan dan memasukkan ke dalam database yang sama dan tabel …

5
Contoh async / await yang menyebabkan kebuntuan
Saya menemukan beberapa praktik terbaik untuk pemrograman asinkron menggunakan c # 's async/ awaitkeywords (Saya baru mengenal c # 5.0). Salah satu saran yang diberikan adalah sebagai berikut: Stabilitas: Ketahui konteks sinkronisasi Anda ... Beberapa konteks sinkronisasi non-reentrant dan single-threaded. Ini berarti hanya satu unit pekerjaan yang dapat dijalankan dalam …


6
C ++ terminate dipanggil tanpa pengecualian aktif
Saya mendapatkan kesalahan C ++ dengan threading: terminate called without an active exception Aborted Ini kodenya: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock<std::mutex> mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); …

28
Contoh Deadlock Sederhana
Saya ingin menjelaskan jalan buntu threading untuk pemula. Saya telah melihat banyak contoh kebuntuan di masa lalu, beberapa menggunakan kode dan beberapa menggunakan ilustrasi (seperti 4 mobil terkenal ). Ada juga masalah klasik yang mudah menemui jalan buntu seperti The Dining Philosophers , tetapi ini mungkin terlalu rumit untuk dipahami …

13
Menulis program yang pasti akan menemui jalan buntu [ditutup]
Tertutup . Pertanyaan ini perlu lebih difokuskan . Saat ini tidak menerima jawaban. Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan sehingga hanya berfokus pada satu masalah dengan mengedit posting ini . Tutup 5 tahun lalu . Perbaiki pertanyaan ini Saya baru-baru ini mendapatkan pertanyaan ini dalam sebuah wawancara. Saya menjawab bahwa …

3
Mengapa aliran paralel dengan lambda di penginisialisasi statis menyebabkan kebuntuan?
Saya menemukan situasi yang aneh di mana menggunakan aliran paralel dengan lambda di penginisialisasi statis membutuhkan waktu yang tampaknya selamanya tanpa pemanfaatan CPU. Berikut kodenya: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Ini tampaknya mereproduksi kasus uji minimum …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.