Manipulação de Threads
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
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
Curtidas 0
Respostas
Nildo
18/05/2004
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.
GOSTEI 0
Sgubert
18/05/2004
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
[]´s
Samuel
GOSTEI 0
Sgubert
18/05/2004
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
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
GOSTEI 0
Nildo
18/05/2004
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:
Assim você pode mecher nas propriedades delas normalmente
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
GOSTEI 0
Sgubert
18/05/2004
Legal, vou tentar...
Valeu mesmo nildo!
Abraço
Samuel
Valeu mesmo nildo!
Abraço
Samuel
GOSTEI 0
Ltres
18/05/2004
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]
[url]http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17644[/url]
GOSTEI 0