none
Quantidade Máximo de Threads,,, RRS feed

  • Pergunta

  • Olá..
    Estou desenvolvendo uma aplicação...
    Faço um looping no BD, com 5 registros apenas para testes...
    a cada registro eu disparo minha thread da seguinte maneira:

    For i=0 to dt.rows.count

    trdPegarFone =

    New Thread(AddressOf ThreadPegarFone)

    trdPegarFone.IsBackground =

    True
    TrdPegarFone.Start()
    Next

    No codigo dentro da minha ThreadPegarFone eu faço uma atualização em um textbox do meu form.
    O problema é que quando entra no looping para disparar as 5 threads ( de acordo com minha qtde de registros ) são lançadas 3 threads e as outras 2 somente após o termino dessas 3 primeiras...
    Gostaria de saber se isso acontece devido a alguma configuração..
    Alguem pode me ajudar ?

    quarta-feira, 14 de julho de 2010 18:34

Respostas

  • Eh necessario colocar sleep?

    Neste caso, coloca no inicio da thread. 5 ou 10 milissegundos eh suficiente.


    Quem sabe um dia os DataSets se extinguirão?
    • Marcado como Resposta Creed_2010 quinta-feira, 15 de julho de 2010 15:02
    quinta-feira, 15 de julho de 2010 14:29

Todas as Respostas

  • Nao exatamente.

    Isso vai depender do escalonamento do sistema operacional.

    Vc iniciou tres threads, e tem mais a thread principal executando. Entao o processador precisa ser dividido em 4 threads.

    Acredito q se vc colocar um sleep, vai dar tempo de todas as 5 iniciarem e apos elas continuam o seu trabalho. Eu ja criei aplicacoes com 10 threads.


    Quem sabe um dia os DataSets se extinguirão?
    quinta-feira, 15 de julho de 2010 11:47
  • Obrigado Danimar..
    Em que local vc recomendaria eu colocar o sleep ? De quantos milisegundos ??

    Valeu !!
    quinta-feira, 15 de julho de 2010 14:22
  • Eh necessario colocar sleep?

    Neste caso, coloca no inicio da thread. 5 ou 10 milissegundos eh suficiente.


    Quem sabe um dia os DataSets se extinguirão?
    • Marcado como Resposta Creed_2010 quinta-feira, 15 de julho de 2010 15:02
    quinta-feira, 15 de julho de 2010 14:29
  • Então Danimar...Acho que o jeito vai ser colocar..porque ele executa 3 e só após estas se completarem ele executa minhas outras duas....
    quinta-feira, 15 de julho de 2010 14:45
  • Boa Danimar...

    Deu certinho cara....
    Agora rodou as 5....
    Muito Obrigado

    quinta-feira, 15 de julho de 2010 15:02