1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Bezzdna [24]
4 years ago
10

Write a multithreaded program that generates the Fibonacci series using Pthreads thread library. This program should work as fol

lows: The user will enter on the command line the number of Fibonacci numbers that the program is to generate (* in this case 7 *). The program will then create a separate thread that will generate the Fibonacci sequence, placing the sequence in data-code (section) that is shared by the threads (an array isprobably the most convenient data structure). When the thread finishes execution, the parent thread will output the sequence generated by the child thread. Because the parent thread cannot begin outputting the Fibonacci sequence until the child thread finishes, this will require having the parent thread wait for the child thread.
Computers and Technology
1 answer:
Mamont248 [21]4 years ago
4 0

Answer:

#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

pthread_mutex_t mutex;

int fib[10]; /* this data is shared by the thread(s) */

int in = 0;

void *genFibo(void *param); /* the thread */

int main(int argc, char *argv[])

{

   pthread_attr_t attr;  

   if (argc != 2) {

   fprintf(stderr,"usage: fibthread <integer value>\n");

   return -1;

   }

   int count = atoi(argv[1]);

   if (count < 1) {

   fprintf(stderr,"%d must be>= 1\n", count);

   return -1;

   }

   pthread_attr_init(&attr);

   // Mutex Lock

   pthread_mutex_init(&mutex, NULL);

   // each thread computes fibonacci

   for(int i = 1;i <= count;i++) {

   pthread_t thread;

   pthread_create(&thread, &attr, genFibo, (void*)i);

   pthread_join(thread, NULL);    

   }    

   // print resulting array

   for (int i = 0; i < in;i++) {

   printf("%d ", fib[i]);

   }

   printf("\n");

   pthread_mutex_destroy(&mutex);

}

void *genFibo(void *param)

{

   pthread_mutex_lock(&mutex);

   fib[in++] = fibonacci((int)param);

   pthread_mutex_unlock(&mutex);

   pthread_exit(0);

}

int fibonacci (int x)

{

   if (x <= 1) {

   return 1;

   }

   return fibonacci(x-1) + fibonacci(x-2);

}

You might be interested in
How do you invite someone to a conversation on brainly
Alona [7]
You can’t sorry dude
3 0
3 years ago
Which biometric technique is considered nearly infallible from a scientific point of view and is increasingly preferred by crimi
Sergio039 [100]

Answer:

DNA analysis

Explanation:

DNA is unique for all individuals. DNA analysis is the process of analysing the DNA characteristics of an individual.

DNA profiling is used in forensics to identify the suspects involved in criminal activities.

1. In the process, DNA of the suspects is matched with the DNA found in the site of the crime.

2. If a match is found, it indicates that the genetic relationship exists between the suspect and the criminal or the crim.

3. The order from the court is needed to obtain the DNA of the suspects. The sample can be in the form of blood or saliva.

4. The sample obtained should have adequate cells which contain the DNA.

Issues  

The DNA obtained from the crime site is not pure or proper enough to be ideal for the DNA profiling.

Degraded sample

1. The sample obtained from the site of the crime is not always adequate to obtain the actual DNA.

2. The sample can be contaminated due to the environmental factors.

3. The sample obtained is too less and hence, should be examined accurately in order not to waste the sample.

DNA mixture

4. The sample obtained from the site of the crime is found to contain DNA from more than one individual.

 

Profiling types

DNA profiling can be carried out by using any of the techniques mentioned below.

1. RFLP analysis (  Restriction fragment length polymorphism )

This uses the Southern blot technique. The blot process needs a large amount of the sample. Also, this works well only when the sample is not degraded.

2. Polymerase chain reaction (PCR) analysis

3. STR analysis ( short tandem repeats )

4. AFLP ( amplified fragment length polymorphism )

This is an automated and low-cost process. It is easy to set up and operate which makes this process common in low income countries.

All the methods mentioned above have their own advantages and drawbacks.

5 0
3 years ago
What is the final amount stored in value if the computer selects 17 as the
nadya68 [22]

Answer: -17

Explanation:

Our random number is 17. Let's go through line by line.

  1. value is a random number picked which is 17
  2. valueB = 17 / 2 = 8.5
  3. If value is greater than 0 AND value has a remainder of 1, we will set the value to value* -1.
  4. Value is now 17 * -1 = -17

Let's quickly calculate value mod 2. 17 % 2 = is 1. If you're wondering how we did that, the remainder after dividing 8 into 17 twice is 1, because 17 - 16 = 1.

We stop after line 4 because we stop the conditional statement after one condition is filled.

6 0
3 years ago
You use buttons and commands on the ribbon to tell word what you want to do. true or false
GarryVolchara [31]
Yes, that is true. The buttons and commands are used for their specific actions on the computer.
7 0
4 years ago
What line of code will import matplotlib in it
Sav [38]

Answer:

import matplotlib

Explanation:

5 0
4 years ago
Other questions:
  • Morgan's cursor is blinking in the center of the page but he would like to move it to the left margin. He should _____.
    10·1 answer
  • Name two common methods for performing dependency injection.
    15·1 answer
  • Betty removed a web page from her website. Some users were browsing on her website. One of them clicked on a particular link and
    15·1 answer
  • What data unit is addressed based on the IP address of the recipient?
    8·1 answer
  • Your program will search for prime numbers. You will first ask the user for the range of values to search, and use for loops to
    6·1 answer
  • Portfolio Activity: Writing a Résumé
    5·1 answer
  • What is the empty space inside the character 'O' called?
    12·1 answer
  • After you configure backup settings using the backup plugin, backup jobs will run automatically and start taking backups at the
    13·1 answer
  • While creating a digital portfolio, Harry wants to add documents that authenticate his skills, experience, and knowledge in digi
    11·1 answer
  • Jacob holds a Computer Hacking Forensic Investigator (CHFI) certification. Which of the following responsibilities should Jacob
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!