Wątki - tworzenie innych wątków poprzez wątek

Odpowiedz Nowy wątek
2006-08-06 04:59
anonimus
0

Witam ;-)
Mam następujące pytanie. Czy da się uruchomić kilka innych wątków pracujących w tym samym czasie poprzez inny wątek??
Chodzi o to że mam uruchomiony główny wątek, a w nim znajduje sie pętla tworząca inny wątek. Chciałbym, aby za każdym razem gdy pętla się wykona Tworzył się osobny wątek. Jeśli tworzęw ten sposób wątki to muszę czekać aż się wykonają wszystkie pętle w wątku pobocznym a dopiero potem przechodzi do następnego wątku :-/
Czy istnieje możliwość aby wątki tworzone z innego wątku uruchamiały się jednocześnie i pracowały w tym samym czasie?
Za odpowiedź serdecznie dziękuję ;-)

Ps. Szukałem, ale nie znalazłem satysfakcjonującej odpowiedzi ;-(

Pozostało 580 znaków

2006-08-06 07:26
0

Czy da się uruchomić kilka innych wątków pracujących w tym samym czasie poprzez inny wątek??
Tak, możesz je uruchomić tak samo jak z wątku głównego.

Czy istnieje możliwość aby wątki tworzone z innego wątku uruchamiały się jednocześnie i pracowały w tym samym czasie?
Tak i nie, tzn. generalnie tak, z tym że na poziomie milisekund nie, zawsze działa jeden wątek i tylko się zmienia z innymi, tak samo nigdy nie wystartują idealnie razem.

A tak w ogóle nie szalej tak z tworzeniem wątków. Tak naprawde zawsze jeśli można obejść się bez wątków to się ich nie stosuje, chyba że ewidentnie widać, że się przydadzą. Opisz jaki masz problem dokładniej ?</url>

Pozostało 580 znaków

2006-08-06 11:17
anonimus
0

Dzięki za odpowiedź ;-)
Co do równoczesnego wykonywania to wiem, że procesor jednordzeniowy nie moży wykonywać w tym samym czasie kiklu operacji. Chodzi mi mniej więcej o to, żeby wykonywało się ok. 1000 wątków w tym "samym" czasie. Wątki by się wykonywały do czasu aż jedna zmienna mała by wartość true. Wtedy nastąpił by ich koniec.
Chodzi o to, że mam komponent. Ma on sięłączyć co jakiś czas z netem. Potwierdzenie logowania trwa jakieś 3-4 sek. Chce zrobić po prostu, że kilka wątków jednocześnie logowało by się w "tym samym czasie" i czekało na dalsze instrukcje.
Mam nadzieję, że dobrze wytłumaczyłeml9 ;-)
Dzięki i pozdrawiam ;-)

Pozostało 580 znaków

2006-08-06 11:26
anonimus
0

Jeszcze lepiej gdyby się dało stworzyć kopię komponentu. Potem zmnieniać tylko jego właściwości odnośnie serwewa, I czy była by możliwośc zrobienia dowolnej liczby kopi komponentu.. potem jego oprogramowanie zdarzeń no i usunięcie komponentu. Mam właśnie problem z odwoływaniem się się do dynamicznie stworzenego komponentu. Oto co robię:

var
  komponent: TComponent;
begin
  komponent:= TComponent.Create(Form1);

No i moje pytanie...
jak się odwołać to tak stworzonego komponentu? Nie chodzi mi o jednorazowe odwołanie, tylko chcce sie odwoływać i zmieniać poarametry tego komponentu w innych procedurach.
Jeśli ktoś by umiał takie cośzrobić to mógłbym prosił o kod?
Z góry więlkie dzięki ;-)

Pozostało 580 znaków

2006-08-06 14:03
anonimus
0

ok.. temat do kasacji :-D
już sobie poradziłem :-)
utworzyłem komponenty dynamicznie i znalazłem sposób jak siedo nich odwołać :-)
wątek można skasować
pozdro ;-)

Pozostało 580 znaków

2006-08-07 12:53
Ad
0

Prosiłbym o wsztrzymanie się z kasowaniem. Mam jeszcze pytanie o podobnym temacie:
Jak uruchomić 2 wątki na kompie z dwurdzeniowym procesorem, żeby 1 wątek zajmował jeden rdzeń? i jeszcze Czy ten sam sposób będzie działał na procesorach z HyperThreading'iem?
//Jeszcze prośba do autora wątku o zmianę tytułu...


Pozostało 580 znaków

2006-08-07 13:51
anonimus
0

niestety tematu nie mogę zmienić.. :-/
proponował bym rozpocząć nowy wątek ;-)
bo do tego starego nikt nie zagląda pewnie :-(

Pozostało 580 znaków

2006-08-07 14:02
Ad
0

Możesz zmienić temat edytując pierwszy post, ale nie rób tego bo znalazłem odpowiedź: komp sam przydziela 2 rdzeniom równą ilość wątków!


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0