int i = 1; object obj = i; ++i; Console.WriteLine(i); Console.WriteLine(obj); Console.WriteLine((short)obj);
C#
Kaip organizuoti laukimą naujiems įvykiams, jei eilė tuščia, ir koks yra skirtumas tarp Channel ir ConcurrentQueue?
Užduotis: Vartotojų gaunami įvykiai, kiekvienas turi būti patikrintas išoriniu šaltiniu, tačiau jis neduoda atsakymo iš karto. Įgyvendinkite VerificationService, kuris: - Priima įvykius iš vartotojų - Bando patikrinti kiekvieną susisiekdamas su išorine paslauga - Jei atsakymas yra PENDING, bando iš naujo siųsti šį įvykį ne anksčiau kaip po 5 sekundžių - Maksimaliai 3 bandymai, po to įvykio ID išvedamas į stdout su FAILED būsena - Sėkmingai apdoroti įvykiai išvedami į stdout su VERIFIED būsena Išorinių priklausomybių šablonai ir stubai jau įgyvendinti: 1. VerificationStatus 2. Event 3. VerificationResult 4. IExternalSource public enum VerificationStatus { OK, Pending, Error } public record Event(string Id, string Payload); public record VerificationResult(VerificationStatus Status, string? Message = null); public interface IExternalSource { VerificationResult Verify(string eventId); } public class VerificationService { private readonly IExternalSource _externalSource; private const int MaxAttempts = 3; private static readonly TimeSpan RetryDelay = TimeSpan.FromSeconds(5); public VerificationService(IExternalSource externalSource) { _externalSource = externalSource; } // TODO: implement }
public class A { public virtual void Print1() { System.Console.Write("A"); } public void Print2() { System.Console.Write("A"); } } public class B : A { public override void Print1() { System.Console.Write("B"); } } public class C : B { public new void Print2() { System.Console.Write("C"); } } static void Main(string[] args) { var c = new C(); A a = c; a.Print1(); a.Print2(); c.Print2(); } Kas bus stdout?
Action-ų sąrašas = naujas List<Action>(); kiekvienam iš 10 kartojimų { pridėti Action() => System.Console.WriteLine(count); } kiekvienam veiksmo { veiksmas(); } Kas bus stdout?
Kas nutinka, kai lauki pirmos užduoties, kuri baigėsi naudodami Task.WhenAny, kol kitos užduotys vis dar vyksta?
Kas leidojo padidinti replikacijos paslaugos pralaidumą nuo maždaug 300 iki 700 pranešimų per sekundę? Kaip buvo naudojami ConcurrentDictionary ir SemaphoreSlim?
public struct S : IDisposable { private bool dispose; public void Dispose() { dispose = true; } public bool GetDispose() { return dispose; } } Kas bus stdout?
Kokios yra Sum ir Count reikšmės?
Kaip apriboti paralelizmo laipsnį, apdorojant asinchroninių užduočių rinkinį?
[vardas] papasakok apie įdomų užduotį ar sprendimą savo dabartinėje ar buvusioje darbo vietoje, kurį norėtumėte pasidalinti.