Tuesday, June 24, 2008

Sellme.ru (2 сообщения)

 rss2email.ruНа что подписаться?   |   Управление подпиской 

  RSS  Sellme.ru

http://sellme.ru
рекомендовать друзьям >>


  • В WordPress 2.6 API будет отключен по умолчанию

    Соответственно, чтобы использовать BlogJet, пользователям придется включать API.

    Мы с Даниэлем Джалкутом ругаемся по этому поводу в своих блогах.


    Переслать  


  • Я люблю какао. Часть 1

    Ненавижу какао, на самом деле.

    В этой серии заметок я буду хвастаться прелестями Cocoa, чтобы вы, веб- виндоус- линукс- девелоперы завидовали, а непрограммисты еще раз подумали, зачем же они подписаны на мой блог.

    Сегодня, дорогие ребята, мы поговорим о многопоточности… дурацкое слово… о мультитредности. Все знают, как сложно писать мультитредные программы. Сихронизация, управление тредами и т.п.

    Пример: вам нужно сделать какие-нибудь более-менее долгие манипуляции с сотней объектов. Чтобы не заставлять пользователя ждать пока операция завершится — пускай себе дальше в интерфейсе копается — нам надо запустить эти манипуляции в отдельном треде. Окей, но что если у юзера многоядерный процессор? Например, четыре ядра. Чтобы ускорить манипуляции, нужно создать не один тред, скажем, три или четыре — пусть компьютер работает на полную мощность! А если у пользователя 100 ядер? Блин, придется либо забить на все это дело и сделать один-два-три-четыре треда, либо узнавать количество ядер и кодить какую-нибудь штуку, которая запускала бы нужное количество тредов.

    Добро пожаловать в Cocoa! Здесь есть классы NSOperation и NSOperationQueue (начиная с Mac OS X 10.5). Делаем подкласс NSOperation, в котором описываем нужную операцию, создаем 100 экземпляров этого класса, а потом просто ставим их всех в очередь — добавляем в NSOperationQueue. Все! Дальше Cocoa при участии ядра операционки само решит сколько тредов нужно создавать, когда их запускать, и какое количество запустить одновременно, учитывая особенности компьютера и его текущую загруженность. Ахххх, какое удовольствие! (Кстати, если нужны какие-нибудь зависимости, например, одна операция не может сработать пока не закончится другая — пожалуйста, и это тоже можно).

    Вот так. Cocoa FTW. Давайте, теперь оправдывайтесь.


    Переслать  






rss2email.ru       отписаться: http://www.rss2email.ru/unsubscribe.asp?c=2631&u=64294&r=460986641
управлять всей подпиской: http://www.rss2email.ru/manage.asp

No comments: