En particulier
- Créez une fonction pour prendre un tableau et un index en tant que paramètres.
- Créez un tableau d'éléments.
- Créez une boucle de comptage.
- À l'intérieur de la boucle sur un nouveau thread, attribuez une nouvelle instance de l'objet au tableau à l'aide de l'indexeur transmis.
Je sais comment gérer les threads, etc. Ce qui m'intéresse, c'est de savoir si c'est un moyen sûr de faire quelque chose.
class Program
{
// bogus object
class SomeObject
{
private int value1;
private int value2;
public SomeObject(int value1, int value2)
{
this.value1 = value1;
this.value2 = value2;
}
}
static void Main(string[] args)
{
var s = new SomeObject[10];
var threads = Environment.ProcessorCount - 1;
var stp = new SmartThreadPool(1000, threads, threads);
for (var i = 0; i < 10; i++)
{
stp.QueueWorkItem(CreateElement, s, i);
}
}
static void CreateElement(SomeObject[] s, int index)
{
s[index] = new SomeObject(index, 2);
}
}
Merci
Gary