Fórum Manipulação de Threads #232943

18/05/2004

0

Olá Pessoal...

Já pesquisei bastante pela net, mas naun encontrei nada que pudesse me ajudar. O que eu preciso é o seguinte....
Preciso manipular com o TThreadList. na minha aplicação vou ter dois destes, um para maior prioridade e um para menor prioridade. Quando eu criar uma Thread já vou saber em qual das listas devo adicionar ela, dai eu preciso parar o processamento dela, colocar ela na TThreadList correspondente e fazer uma busca na Lista de prioridade maior e pegar a primeira thread da lista para executar, quando naun tiverem mais threds nessa lista, pego as threds em ordem da outra lista e as executo.
Alguem teria dicas de como fazer isso utilizando TThreadList???

Desde já agradeçoa a atençãod e todos

Abraços
Samuel


Sgubert

Sgubert

Responder

Posts

18/05/2004

Nildo

Só por curiosidade, o que você vai fazer dentro destas Threads? Observe bem, utilizando TThreadList elas serão automaticamente ´Thread Safe´, o que significa que o uso de VCL nestas threads irá resultar em Reboots, telas azuis da morte, e muitos erros. Você não deve usar de jeito nenhum VCL dentro de uma ThreadSafe, então tome cuidado com isso.


Responder

Gostei + 0

18/05/2004

Sgubert

Na verdade eu vou ter 10 threads que irão simular diversos valores. Essa treads irão executar uma procedure no programa principal que irá criar uma nova thred, é esta que acaba de ser criada que vou colocar na lista. Ela apenas vai acessar uma matriz na Unid principal protegida com um TCriticalSection. è so isso que as threads vão fazer....

[]´s
Samuel


Responder

Gostei + 0

18/05/2004

Sgubert

Ola de novo....

Eu poderia tb trabalhar com dois arrays dinamicos para cada prioridade que tenho, mas nunca trabalhei com isso.
Precisaria saber como inserir uma thread nele, como pegar a thred, remover e esse tipo de oisa....de repente se puderem me ajudar....

[]´s
Samuel


Responder

Gostei + 0

18/05/2004

Nildo

Neste caso eu não aconselho a usar Thread Safe como é o caso do TThreadList.

Provavelmente voce criou um componente que herda de um TThread certo? Crie uma array desse componente. Ficaria assim:

Matriz: array [0..N] of TSuaThread


Assim você pode mecher nas propriedades delas normalmente


Responder

Gostei + 0

18/05/2004

Sgubert

Legal, vou tentar...

Valeu mesmo nildo!

Abraço
Samuel


Responder

Gostei + 0

18/05/2004

Ltres

Cara da uma olhada, se vc ja naum viu, no exmplo do Guinther Pauli: Thread Manager
[url]http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17644[/url]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar