Програмуємо для Windows 7 в Visual Studio 2010, Різне, Програмування, статті


Всі настроюються частини API Restart Manager надаються користувачеві через віртуальні елементи, які можуть бути перевизначені.

. NET і платформа Location
. NET 4 включає в себе новий простір імен Device, яке підтримує Windows 7 Location API (частина платформи Windows 7 Sensors and Location). Простір імен System.Device.Location дозволяє розробникам додатків легко отримувати доступ до інформації про місцезнаходження користувача, використовую один єдиний API. Інформація про місцезнаходження може виходити від безлічі провайдерів, таких як GPS, тріангуляція Wi-Fi і тріангуляція з використанням вишок стільникового зв’язку. Класи System.Device.Location утворюють єдиний API для об’єднання декількох провайдерів розташування в комп’ютері і підтримують “безшовну” систему пріоритетів і переходів між ними. Розробнику додатків, які буде використовувати цей API, необов’язково знати, яка з технологій визначення місця розташування доступна на окремо взятому комп’ютері; таким чином, він звільнений від тягаря адаптації додатки до певної конфігурації.


Щоб отримати доступ до інформації про місцезнаходження, вам потрібно створити об’єкт GeoLocationProvider. Це головний об’єкт Location Manager, через який ви можете зареєструватися для отримання повідомлень LocationChange і синхронно зчитувати останні дані про місце розташування. Далі ви повинні викликати метод Start для початку процесу отримання даних від поточного провайдера розташування. Щоб перевірити, чи доступні ці дані, ви можете скористатися властивістю Status. Якщо дані доступні, ви можете отримати дані про місцезнаходження одного разу, або ж, скориставшись подією LocationChanged, безперервно отримувати оновлення поточного місця розташування. Наступний фрагмент коду є значно спрощеним прикладом, що показує як отримати поточні координати GeoCoordinates (широта, довгота):


Код:
GeoLocationProvider provider = new GeoLocationProvider();
provider.Start();
GeoCoordinate coordinate = provider.Location.Coordinate;
if (coordinate != GeoCoordinate.Unknown)
{
  //Business logic here
}

На жаль,. NET 4 підтримує тільки Location API, а не всю платформу Sensor and Location – передбачається, що. NET-реалізація функції Location все ще не містить частини Sensor. Для доступу до функції Sensor через керований код ви можете використовувати Windows API Code Pack.

Паралельні обчислення та підтримка багатоядерності Windows 7
Паралельне програмування в Visual Studio 2010 має багато аспектів, таких як, наприклад, Parallel LINQ та інші розширення. NET, що вимагають підтримку паралельних обчислень, включаючи такі оператори, як Parallel.For, які використовують System.Threading.Tasks.Task. Розробники C + + будуть раді дізнатися, що концепції Task також присутні в 10-ій версії мови C + +, яка поставляється з VS 2010. У випадку з рідним кодом паралельна середу виконання (Concurrency Runtime, ConcRT) володіє знанням


і здатна працювати з <= 256 ядрами; ConcRT також використовує переваги планування непривілейованого режиму (User Mode Scheduling, UMS) потоків. Саме тому будь-обчислювальний процес, побудований на ConcRT, отримує виходу від використання багатоядерності. Іншими словами, завдяки тому, що Parallel Pattern Library (PPL) і Asynchronous Agents включені до складу Visual C + + 10 CRT і мають у своїй основі ConcRT, будь обчислювальний процес, який ви побудуєте на їх використання, буде масштабуватися між 256 ядрами (звичайно, вам все одно доведеться писати код, проте масштабування буде для вас безкоштовним).


Для додатків на керованому коді ситуація не така райдужна. Управління потоком керованого стека за замовчуванням грунтується на. NET ThreadPool (System.Threading.ThreadPool). Він не використовує API нових процесорних груп Windows 7, і тому не може автоматично використовувати можливості Windows 7 до масштабування. Максимальне число процесів, які може використовувати threadpool, так само 64. Але ще не все втрачено – цілком можливо написати додатковий TaskScheduler, який зміг би працювати з більш ніж 64 процесами, і використовувати іншу частину бібліотеки Task Parallel Library з цим спеціальним планувальником. Це було б крутим проектом для CodePlex, правда?


Visual Studio 2010 включає в себе масу нових технологій і удосконалень, які являють собою свого роду глазур поверх пирога Windows 7.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*