I have an assignment when I'm suppose to do the following:
Write a multithreaded Java, Pthreads, or Win32 program that outputs prime numbers. This program should work as follows:
1.
The user will run the program and will enter a number on the command line.
2.
The program will then create a separate thread that outputs all the prime numbers less than or equal to the number entered by the user.
I have the multithreading code and the prime number although i don't know where to place it. does anyone think they can help me. Thanks in advance.
// First, always include
#include
#include
#define MAX_THREADS 3
int isprime ;
// Prototypes are good and handy, but not necessary in this example.
// These three functions are run by each of our three threads
// Please note how the functions are declared:
// In Win32, thread functions MUST be declared like this:
// DWORD WINAPI
// In short,
// Return value *must* be DWORD WINAPI
// And the parameter must be LPVOID
DWORD WINAPI genericThreadFunc1(LPVOID);
DWORD WINAPI printString(LPVOID);
DWORD WINAPI printNumber(LPVOID);
// We need an array of Handles to threads
HANDLE hThreads[MAX_THREADS];
// ...an array of thread id's
DWORD id[MAX_THREADS];
// And a waiter (which I'll explain later)
DWORD waiter;
// Here are the three functions that are defined.
// They do trivial things and should be mostly self explanatory.
DWORD WINAPI genericThreadFunc1(LPVOID n)
{
cout << "Thread started (genericThreadFunc1)..." << endl;
for(int i = 0; i < 100; i++) {
cout << "threadFunc1 says: " << i << endl;
}
cout << "...(genericThreadFunc1) Thread terminating." << endl;
return (DWORD)n;
}
DWORD WINAPI printString(LPVOID n)
{
cout << "Thread started (printString)..." << endl;
// NOTE: In the next line, we make a pointer and cast what was passed in.
// This is how you use the LPVOID parameters passed into the
// CreateThread call (below).
char* str = (char*)n;
for(int i = 0; i < 50; i++) {
cout << "printString says: " << str << endl;
}
cout << "...(printString) Thread terminating." << endl;
return (DWORD)n;
}DWORD WINAPI printNumber(LPVOID n)
{
int num = (int)n;
for( int i = 2 ; i <= n ; i++)
{
// isprime = 1;
//for( int j = 2 ; j <= i ; j++)
//if( i == j)
// continue;
//else if( i % j == 0)
//isprime = 0;
//}
if(isprime)
cout<
}
//cout << "Thread started (printNumber)..." << endl;
//int num = (int)n;
//for (int i = num; i < (num + 100); i++) {
//cout << "printNumber says: " << i << endl;
//}
cout << "...(printHello) Thread terminating." << endl;
return (DWORD)n;
}
// Get ready, because here's where all the *REAL* magic happens
int main(int argc, char* argv[ ])
{
int CONSTANT = 2000, isprime;
char myString[20];
strcpy(myString,"Threads are Easy!");
// Here is where we call the CreateThread Win32 API Function that actually
// creates and begins execution of a thread.
// Please read your help files for what each parameter does on
// your Operating system.
// Here's some basics:
// Parameter 0: Lookup
// Parameter 1: Stack size (0 is default which means 1MB)
// Parameter 2: The function to run with this thread
// Parameter 3: Any parameter that you want to pass to the thread function
// Parameter 4: Lookup
// Parameter 5: Once thread is created, an id is put in this variable passed in
hThreads[0] = CreateThread(NULL,0,genericThreadFunc1,(LPVOID)0,NULL,&id[0]);
hThreads[1] = CreateThread(NULL,0,printString,(LPVOID)myString,NULL,&id[1]);
hThreads[2] = CreateThread(NULL,0,printNumber,(LPVOID)CONSTANT,NULL,&id[2]);// Now that all three threads are created and running, we need to stop the primary thread
// (which is this program itself - Remember that once "main" returns, our program exits)
// So that our threads have time to finish. To do this, we do what is called "Blocking".
// We're going to make main just stop and wait until all three threads are done.
// This is done easily with the next line of code. Please read the help file about
// the specific API call "WaitForMultipleObjects".
waiter = WaitForMultipleObjects(MAX_THREADS, hThreads, TRUE, INFINITE);
// After all three threads have finished their task, "main" resumes and we're now ready
// to close the handles of the threads. This is just a bit of clean up work.
// Use the CloseHandle (API) function to do this. (Look it up in the help files as well)
for(int i = 0; i < MAX_THREADS; i++) {
CloseHandle(hThreads[i]);
}
system ("pause");
return 0;
}
Strange array issue, never happened before.
mysql_fetch_array returns 1 array per call. Generally that's why it is inserted into a while statement. I generally loop through them in a while statement and put them all in a master array so I
VAT
how should I deal with VAT?if I have a product that costs £5.00 and VAT @ 17.5% (£0.875) the total cost of the product is £5.875.so how do people deal with VAT should I round up/down? are
Ten Operator Syntax
Hi Guys,I can't figure out why i am getting a parse error with this basic ten op code:$prodTH = ($prodIA == "Y") ? "<img src=\"" . amazon_display_thumbnail($prodID)
Remove directories not empty
hi,i have an array that contains some names (1,4,6,56...). Every integer is a name of a folder.I must to delete only the folders in array, i use this code:Code: $all_folders = array();while ($row =
Why doesn't this work? (SSH2)
This is my script:Code: <?php$connection = ssh2_connect('213.251.167.109', 22);ssh2_auth_password($connection, 'root', 'MGdgfskc');$stream = ssh2_exec($connection, 'useradd -d /home/users/test
if description does not contain the following words
Hello everyone,I am parsing a MS Excel (.xls) file and adding it's content to a mySQL database, so far to good, but what I want to do is if the column titled description does not contain these words
update the selected existing records of database
Hi frndz,I am new to php and get stuck.... Edit.php > Update.php > Updateaction.phpi have 1 edit page displaying results existing in database with chkbox in front of every record and
cURL proxy
Okay here is the thing... i know how to add proxysCode: curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);curl_setopt($ch, CURLOPT_PROXY,"[i][b]PROXYHERE[/b][/i]");Here are my questions..
Slashes
Have a small problem and I'm not able to understand why I'm getting the results I'm getting... and it's all down to darn slashes.The brand in question is O'BrienCode:
How to search for several parameters from objects in a database?
I have a database with lots of information about objects.Now I would like to search for 4 or 5 parameters at the same time (from a form) like this:I choose from a select-box one parameter and then