i'm doing something for fun, trying to learn multithreading
Problems passing array by reference to threads
but Arno pointed out that my threading via process.h wasn't going to be multi-threaded.
What I'm hoping to do is something where I have an array of 100 (or 10,000, doesn't really matter I don't think), and split up the assignment of values to each thread.  Example, 4 threads = 250 values per thread to be assigned.
Then I can use this filled array for further calculations.
Here's some code I was working on (which doesn't work)
#include <process.h>
#include <windows.h>
#include <iostream>
#include <fstream>
#include <time.h>
//#include <thread>
using namespace std;
void myThread (void *dummy );
CRITICAL_SECTION cs1,cs2; // global
int main()
{
    ofstream myfile;
    myfile.open ("coinToss.csv");
    int rNum;
    long numRuns;
    long count = 0;
    int divisor = 1;
    float holder = 0;
    int counter = 0;
    float percent = 0.0;
    HANDLE hThread[1000];
    int array[10000];
    srand ( time(NULL) );
    printf ("Runs (use multiple of 10)? ");
    cin >> numRuns;
    for (int i = 0; i < numRuns; i++)
    {
        //_beginthread( myThread, 0, (void *) (array1) );
        //???
        //hThread[i * 2] = _beginthread( myThread, 0, (void *) (array1) );
        hThread[i*2] = _beginthread( myThread, 0, (void *) (array) );
    }
     //WaitForMultipleObjects(numRuns * 2, hThread, TRUE, INFINITE);
     WaitForMultipleObjects(numRuns, hThread, TRUE, INFINITE);
}
void myThread (void *param )
{
    //thanks goes to stockoverflow
    //http://stackoverflow.com/questions/12801862/problems-passing-array-by-reference-to-threads
    int *i = (int *)param;
    for (int x = 0; x < 1000000; x++)
    {
        //param[x] = rand() % 2 + 1;
        i[x] = rand() % 2 + 1;
    }
}
Can anyone explain why it isn't working?