"ParallelStackApplication":
(рис 22.1)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ParallelStacksApplication
{
class XClass
{
public void MA(object param) { MB(param); }
public void MB(object param) { MC(param); }
object s1 = new object();
object s2 = new object();
public void MC(object param)
{
if (param == "1")
{
MD();
}
if (param == "2")
{
ME();
}
if (param == "3")
{
MF();
}
}
public void MD()
{
ME();
}
public void ME()
{
while (true) Thread.SpinWait(int.MaxValue / 20);
}
public void MF()
{
ML();
}
public void MG(object param)
{
MH(param);
}
public void MH(object param)
{
MI(param);
}
public void MI(object param)
{
if (param == "4")
{
MJ();
}
else
{
MK();
}
}
public void MJ()
{
Monitor.Enter(s1); Thread.SpinWait(int.MaxValue / 20); Monitor.Enter(s2);
}
public void MK()
{
Monitor.Enter(s2);
Thread.SpinWait(int.MaxValue / 10);
Monitor.Enter(s1);
}
public void ML()
{
MM();
}
public void MM()
{
while (true)
{ Thread.SpinWait(int.MaxValue / 3);
Debugger.Break();
};
}
}
class Program
{
static XClass obj = null;
static void Main(string[] args)
{
obj = new XClass();
Task.Factory.StartNew(obj.MA, "1");
Task.Factory.StartNew(obj.MA, "2");
Task.Factory.StartNew(obj.MA, "3");
Task.Factory.StartNew(obj.MG, "4");
Task.Factory.StartNew(obj.MG, "5");
Console.ReadLine();
}
}
}
"Start Debbuging" из меню Visual Studio "Debug" или с помощью клавиши "F5":
(рис 22.2)
Debbuger.Break():
(рис 22.3)
"Debug -> Windows" или с помощью сочетания клавиш "Ctrl+Shift+D,S":
(рис 22.4)
(рис 22.5)
MС(). Для этого кликните правой кнопкой мыши по данному методу и выберите из списка "Switch To Frame" и установите флажок напротив значения 6568:
(рис 22.6)
(рис 22.7)
Debbuger.Break(), который позволяет останавливать отладку в нужной точке. Для того, что бы отладка программы выполнялась по шагам, расставим точки останова (breakpoints) напротив нескольких методов:
(рис 22.8)
(рис 22.9)
"Debug" - "Stop Debugging" или сочетание клавиш "Shift+F5":
(рис 22.10)
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.