В этой статье не будет длинных предисловий, для чего может быть нужен таймер с интервалом 1 мс. В своей библиотеке DryWetMIDI я использую таймер в роли “двигателя” для воспроизведения MIDI-данных, вы можете прочитать об этом во вступительном тексте предыдущей статьи. Данный механизм реализован сейчас для Windows и macOS. Статью по *nix, увы, ждать в ближайшее время не стоит.
Рубрика «.net» - 8
Таймер в .NET с интервалом 1 мс. macOS
2022-03-06 в 14:48, admin, рубрики: .net, C#, MacOS, Программирование, Разработка под MacOS, таймерО Thread и ThreadPool в .NET подробно (часть 2)
2022-03-02 в 14:24, admin, рубрики: .net, clrium, DotNetBook, netcore, параллельное программированиеВ предыдущей публикации мы рассмотрели некоторые базовые вопросы относительно потоков и пулов потоков и готовы двигаться дальше. Давайте проведём эксперимент и найдём правильный объём работы для пула потоков. Чтобы его издержки не давлели над объёмом полезной работы
Проект SmartThreadPool, о котором идёт речь в статье:
⚠️ Материал средней сложности
С другой стороны, показанные примеры доказывают, что на производительность сильно влияет гранулярность элементов работыЧитать полностью »
О Thread и ThreadPool в .NET подробно (часть 1)
2022-03-02 в 14:00, admin, рубрики: .net, clrium, netcore, параллельное программированиеСсылка на Часть 2: "О Thread и ThreadPool в .NET подробно (часть 2)"
Этот текст покрывает ответы на некоторые совсем базовые вопросы и вместе с тем сразу погружает в проблематику получения ответа на вопрос: "как работать лучше? однопоточно, многопоточно или многопоточно, но на ThreadPool?". Ответ на этот вопрос может изначально показаться очень простым и понятным, однако реальность совершенно иная: всё как и везде сильно зависит от ситуации: от типа задачи, от её размера, от прочих условий, которые так просто в голову сами собой не придут.
Поговорим о фичах в предварительной версии C# 11
2022-02-28 в 20:55, admin, рубрики: .net, C#, csharp, null, open source, skillfactory, Блог компании SkillFactory, дизайн, интерполяция, итераторы, проверки, Программирование, строки, строки кодаК старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат.
Почему моё приложение при открытии SVG-файла отправляет сетевые запросы?
2022-02-18 в 7:15, admin, рубрики: .net, C#, cybersecurity, security, svg, vulnerability, weakness, XXE, безопасность, Блог компании PVS-Studio, информационная безопасность, Программирование, уязвимости
Вы решили сделать приложение, работающее с SVG. Набрали библиотек, запаслись энтузиазмом, и в итоге всё удалось. Но вот незадача! Внезапно вы обнаруживаете, что приложение отправляет странные сетевые запросы. Кроме того, с хост-машины утекают данные. Как же так?
Вторая жизнь монитора с сенсорным экраном
2022-02-17 в 19:53, admin, рубрики: .net, diy или сделай сам, serial port, touchscreen, никто не читает теги, реверс-инжинирингПривет.
Хочу рассказать как заставил работать старый монитор от медицинского оборудования с не менее старым неттопом.
Вычисление стихотворного размера
2022-02-14 в 10:33, admin, рубрики: .net, C#, natural language processing, Алгоритмы, обработка естественного языка, поэзия, ПрограммированиеПривет. Я последние пару лет играюсь с естественной речью на русском языке. Решил поделиться своим опытом по работе с поэзией. Будет две статьи: вот эта и про рифму (когда дойдут руки всё доделать).
Половина программистов, прочитав заголовок, скорее всего подумала, что задача очень простая: сравнить две маски. Но есть нюансы, которые сильно влияют на результат, и о них то я и расскажу.
Немного теории
Речь пойдёт о так называемом силлабо-тоническом стихосложенииЧитать полностью »
И всё-таки, возможен ли 1мс таймер в Windows?
2022-02-13 в 12:56, admin, рубрики: .net, C#, timer, win32, windows, разработка под windows, таймерВ комментариях к недавней статье оказалось что, во-первых, этот вопрос кому-то да и интересен, и, во-вторых, существует некоторое количество заблуждений на эту тему.
Вводные: нам нужен таймер, на Windows, с точностью порядка 1мс, драйвер при этом мы писать не хотим и решения при исполнении которых процессор попытается радикально ускорить глобальное потепление не приемлем.
Диапазоны (Ranges) в C# 8
2022-02-12 в 20:40, admin, рубрики: .net, .net core, C#, c#.net, c#8, range, Visual StudioПусть в нашей программе есть массив целых чисел numbers
:
static void Main()
{
var numbers = new int[] { 5, 1, 4, 2, 3, 7 };
}
Перед нами стоит задача: получить новый массив, вырезав из массива numbers
элементы от индекса 2
до индекса 4
включительно, то есть должен получится массив [4, 2, 3]
.
Решение 1
Самое первое и простое решение, которое приходит в голову — это решение в лоб:
-
Создадим результирующий массив целых чисел
result
размером3
:static void Main() { var numbers = new int[] { 5, 1, 4, 2, 3, 7 }; var result = new int[3]; }
-
Пройдемся циклом по нужным индексам массива
numbers
Читать полностью »