Thread Pixel

Olá Pessoal

Preciso fazer um trabalho pra facul, onde tenho que iniciar várias threads cada uma representando um pixel, depois que cada pixel aparece na tela ele tem que descer , pra isso devo usar sleep. Até consegui pintar um pixel na tela, mas me atrapalho muito para trabalhar com Threads.

Alguém pode me dar uma dica de como posso iniciar cada pixel usando Threads ???/

Muito Obrigado

Segue código
import java.awt.image.*;

public class ThreadPixel extends Thread{

public static void main(String[] args) {
	
    JFrame frm = new JFrame("Teste Imagem");   
    JPanel pan = new JPanel();   
    JLabel lbl = new JLabel( criarImagem() );   
    pan.add( lbl );   
    frm.getContentPane().add( pan );   
    frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );   
    frm.pack();   
    frm.show();
     
}   

private static ImageIcon criarImagem() {

    int width=300, height=300;   
    BufferedImage buffer = new BufferedImage( width, height, BufferedImage.TYPE_INT_RGB );   
    Graphics g = buffer.createGraphics();
    // Cor de Fundo da tela
    g.setColor( Color.black );   
    g.fillRect( 0, 0, width, height );
    
    // Primeira Linha (da esquerda para a direita)
    g.setColor( Color.blue );       	
    g.drawLine(10, 0, 10, 150);  

   // Segunda Linha (da esquerda para a direita)       
    g.setColor( Color.red );
    g.drawLine(20, 0, 20, 100);
    
    // Terceira Linha (da esquerda para a direita)
    g.setColor( Color.green );
    g.drawLine(30, 0, 30, 50);


return new ImageIcon( buffer );   
} 

}