Sou iniciante, entendo pouco em C# e muito menos Thread. Estou conhecendo agora. Será que é possivel auxiliar a resolver este problema estipulado.
Escreva um programa em que duas threads escrevam números aleatórios em um vetor(escopo global) de inteiros e com tamanho 50. A posição a ser preenchida de forma sequencial. Este valor começa em -1 e cada thread deve incrementá-lo antes de usá-lo. Quando o vetor estiver preenchido a thread original deve ser acordada por meio de uma variável de condição.
[quote=Timilim]Sou iniciante, entendo pouco em C# e muito menos Thread. Estou conhecendo agora. Será que é possivel auxiliar a resolver este problema estipulado.
Escreva um programa em que duas threads escrevam números aleatórios em um vetor(escopo global) de inteiros e com tamanho 50. A posição a ser preenchida de forma sequencial. Este valor começa em -1 e cada thread deve incrementá-lo antes de usá-lo. Quando o vetor estiver preenchido a thread original deve ser acordada por meio de uma variável de condição.
[/quote]
Referente ao exercicio acima.
class impressao
{
private int val;
private static Random rd = new Random();
public void print()
{
Console.WriteLine(Thread.CurrentThread.Name + "posicao ");
//sorteia um valor aleatorio para val
val = rd.Next(200);
//após o soteio eu quero que mostre o seu valor aleatorio
Console.WriteLine(Thread.CurrentThread.Name + " " + val);
}
}
class Program
{
static void Main(string[] args)
{
int[] vetor;
vetor = new int[50];
}
No caso nao estou conseguindo a como a comecar incrementar as threads e fazer que os valores começe na posicao -1