idxbuild com opção -thread

Discussão em 'Banco de Dados / Database' iniciado por pedro.ciarma, Junho 16, 2010.

  1. pedro.ciarma

    pedro.ciarma Membro Participativo

    no idxbuild existe a opção -thread, alguém sabe para que serve esta opção ???????
  2. kirchner

    kirchner Membro Participativo Moderador

    Este parâmetro indica se o idxbuild será multi-threaded ou não. O padrão é sim para o Enterprise DB.
    Além deste, você pode usar também o -threadnum para indicar quantas threads usar para a operação.
    Do manual:

  3. pedro.ciarma

    pedro.ciarma Membro Participativo

    Desculpe a minha ignorancia, o que é multi-threaded ????
  4. kirchner

    kirchner Membro Participativo Moderador

    Pedro,

    Multi-threaded é um conceito onde uma aplicação executa mais de uma tarefa simultaneamente, normalmente utilizando mais de uma thread.

    Uma thread é uma linha de execução dentro de um processo. Um processo tem de 1 a N threads.
    Em termos bem grosseiros, é como se um processo tivesse vários subprocessos, e cada um faz uma coisa.

    Talvez o conceito seja um pouco abstrato se você só usa Progress, porque o client Progress não suporta este tipo de coisa. Só existe uma linha de execução e ponto.
    Em outras linguagens (C++, C#, Java, etc) é algo bem comum.

    As vezes você vai ouvir falar em multi-threading sem usar várias threads. O banco Progress/OpenEdge, por exemplo, se considera multi-threaded, mas na prática ele usa vários processos, e não várias threads em um mesmo processo. Já reparou que as vezes você tem 400 processos _mprosrv.exe abertos?

    A vantagem de usar multi-threading no idxbuild é o uso de vários processadores simultaneamente. Se você tem índices grandes para criar, o idxbuild cria algumas threads, o SO agenda cada uma em um processador diferente, e teoricamente o processo demora menos :)

Compartilhe esta Página