| Автор |
Съобщение |
|
RM
Ранг: Почетен член
Регистриран на: Нед Окт 19, 2008 7:26 pm Мнения: 673
|
 Писане на multithreaded applications
Имам компоненти за multithreaded applications .
По принцип ми е ясно как се използват, как действат , но не знам кога е необходимо да се използват, и доколко да не се прекалява с тях.
http://www.mitov.com/html/free_downloads.html
|
| Нед Май 31, 2009 4:24 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
 Re: Писане на multithreaded applications
като разбереш КОГА ти трябват ... ще разбереш и останалото (вкл. И че НЕ ти трябват и готови компоненти!) 
|
| Нед Май 31, 2009 4:55 pm |
|
 |
|
RM
Ранг: Почетен член
Регистриран на: Нед Окт 19, 2008 7:26 pm Мнения: 673
|
Имам си Iocomp, и ги ползвам , щото не съм толкова добър и не мога да си напиша сам.
Затова ползвам готови. А и не съм писал нещо което е имало необходимост от създаване на процеси и нещата да са фатални ако се закъснее с по малко. И се чудех дали няма да се забъркат нещата, или ще е от полза използването на тези техники ?
|
| Нед Май 31, 2009 10:00 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
ще се забъркат каши. щом не си усетил кога се ползват, не ги ползвай още. мт програмирането обърква и опитни хора понякога.
|
| Нед Май 31, 2009 11:44 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Абе това са си дълбоки води, особено синхронизация между тредове, достъп до общи ресурси... От година се занимавам с мултитрединг и чак сега започвам да схващам нещата изоснови и да съм сигурен, че написаното е стабилно и тредсейф. Наистина щом още не знаеш дали ти трябва не ползвай "многонишковост" ( звучи странно  ).
|
| Пон Юни 01, 2009 11:23 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
А какво използвате когато имате асинхронни събития? Например комуникация по серийния порт и GUI. Не стигате ли пак до многонишковост?
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Вто Юни 02, 2009 10:09 am |
|
 |
|
RM
Ранг: Почетен член
Регистриран на: Нед Окт 19, 2008 7:26 pm Мнения: 673
|
Мисля че многонишковоста се грижи OS-а.
Това са само процеси които се движат заедно, и автора е написал че се е погрижил за синхронизацията, и всички неща свързани с създаването , килването, ъпдейтването и управлението на процесите.
|
| Вто Юни 02, 2009 10:14 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
идея си нямаш за какво става въпрос !
|
| Вто Юни 02, 2009 11:19 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Що бе, горе долу прав е човекът. ОС-а си се грижи за основното, от теб се иска да спазваш правилата.
В многозадачните системи няма нищо страшно. Напротив - трябва да ги ползват и да се учат. Задължително е да се изучават като отделна дисциплина в ТУ, ама както знаем има значително по-важни неща за учене там (разни архаизми отпреди 20-30 години).
Престанете да плашите хората. Ако не пробват никога няма да се научат. Нека ползват и готови обекти, контроли и каквото там им е удобно. Човек се развива като се бори.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Юни 03, 2009 12:35 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
абе Цецо - и ти май нямаш идея кое как става  как ти звучи това:
на мене ми звучи буквално "ИДЕЯ СИ НЯМАМ ОТ СОФТУЕР - ОЩЕ ПО МАЛКО ОТ НИШКИ И СИНХРОНИЗАЦИИ!"
само абсолютно заблуден може да твърди че някой друг се бил грижел за всичко (под всичко разбирай, синхронизация и комуникация м/у процесите, достъп до общи ресурси ...)
това "всичко" се научава с опит и ясната идея КАК КАКВО и ЗАЩО се прави ... и никакви готови компоненти не помагат в случая !
това което е напълно достатъчно е _beginthread и CRITICAL_SECTION (EnterCriticalSection/LeaveCriticalSection) ...
|
| Сря Юни 03, 2009 12:56 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Айде още един гении дето всички са му под нивото. Аман от гурута даващи квалификации на чужди умения.
Ако си писал на MFC например, ще си наясно, че там наистина голяма част от нещата са направени и наистина някой се е "погрижил" предварително за нещата. На теб оставят само да внимаваш какво точно и как използваш.
Естествено MFC определено не е най-качествения пример за това как трябва да се прави мултитрединга, ама факт, че човек може да си пише многонишково приложение и без да е велико гуру в областта. И е един удобен начин човек да навлезе в мултитрединга.
Ти какво искаш - човека да хване да напише собствен кернел, та да си сигурен че е достоен да работи с нишки?
Мойто изкване беше по скоро да не плашите човека. Ще пробва, ще сгреши, ще се научи. Определено е тъпо да му кажете - "абе заек прост, като не разбираш не се захващай". Човека се учи. По добре от колкото да го е страх да пипне многозадачното и после да ни развива тука теории, че от линейното програмиране по добро няма, или че прекъсванията са нещо страшно и трябва много да се внимава.
Виж ако ви е страх че някой може да ви вземе хляба.... бъдете сигурни че да си усвоил на някакво примитивно ниво многозадачно програмиране, определено не е кой знае какво геройство.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Юни 03, 2009 1:07 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
много са ти елементарни познанията !
по добре си гледай железарския бизнес !
|
| Сря Юни 03, 2009 1:50 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
SMTP, не те познавам, за да мога да ти давам оценка. Но познавам Цецо и си мисля, че ти не го познаваш.
Ще е добре да посмекчиш квалификациите ...
А за железарския му бизнес не се грижи!
|
| Сря Юни 03, 2009 2:01 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
мисля че Цецо - всеки го "познава"
софтуерните му "умения" стигат до "компилиране" на "int main () {return 0;}"
т.е. софтуерния еквивалент на хардуерна "мигалка" !
пак повтарям - разпаралелването и синхронизациите на процесите си е единственно работа на програмиста !
ОС-а осигурява синхронизация до собственните си ресурси и дава средства за това на приложенията, но вътре в самите приложение - това е задача на програмиста и е силно зависимо от конкретната задача !
|
| Сря Юни 03, 2009 2:10 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
съгласен съм с смтп. многонишковото писане си е висш пилотаж, ОСа предоставя синхронизиращи примитиви, но ползването им не е като да сортираш с мехурче. ако някой си мисли че е достатъчно да заградиш критичната секция в някакви заключващи операции, значи не е писал много.
|
| Сря Юни 03, 2009 3:14 pm |
|
|