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
inessss [21]
3 years ago
7

Write a program that accepts a phrase of unspecified length on the command line. For example: prompt% letter print Operating Sys

tems Class at Kent-State The main0 in this program has to create two threads running functions (vow and cons). The threads should take turns printing the respective words of the phrase supplied on the command line. The vow thread should print all the words that start with a vowel and the cons thread should print all words starting with a consonant. Note that the main thread (running main0) should not print anything itself-the output should be supplied by the threads that it creates. The order of words in the phrase should not be changed in the printout. Your program should work for any phrase of any reasonable length, not just the one given in the example. The output of your program should looks similar to the following prompt% letter print Operating Systems Class at Kent-State vow: Operating cons: Systems cons: Class vow: at cons: Kent-State In this part you are not allowed to use synchronization primitives such as mutexes for thread coordination. You can use sched yield0 to relinquish control of the CPU

Computers and Technology
1 answer:
Sedaia [141]3 years ago
3 0

Answer:

Check the explanation

Explanation:

#define _MULTI_THREADED

#include <pthread.h>

#include <stdio.h>

#include <errno.h>

#define           THREADS          2

int               i=1,j,k,l;

int argcG;

char *argvG[1000];

void *threadfunc(void *parm)

{

int *num;

num=(int*)parm;

while(1)

   {

   if(i>=argcG)

   break;

   if(*num ==1)

   if(argvG[i][0]=='a' ||argvG[i][0]=='2'||argvG[i][0]=='i' ||argvG[i][0]=='o' ||argvG[i][0]=='u')

   {

   printf("%s\n",argvG[i]);

   i++;

   continue;

   }

    if(*num ==2)

   if(!(argvG[i][0]=='a' ||argvG[i][0]=='2'||argvG[i][0]=='i' ||argvG[i][0]=='o' ||argvG[i][0]=='u'))

   {

   printf("%s\n",argvG[i]);

   i++;

   continue;

   }

   sched_yield();

   }

return NULL;

}

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

{

pthread_t            threadid[THREADS];

int                  rc=0;

int                  loop=0;

int arr[2]={1,2};

argcG=argc;

for(rc=0;rc<argc;rc++)

argvG[rc]=argv[rc];

printf("Creating %d threads\n", THREADS);

for (loop=0; loop<THREADS; ++loop) {

     rc =pthread_create(&threadid[loop], NULL, threadfunc,&arr[loop]);

}

for (loop=0; loop<THREADS; ++loop) {

   rc = pthread_join(threadid[loop], NULL);

}

printf("Main completed\n");

return 0;

}

The below attached image is a sample output

You might be interested in
IRQ 0 interrupt have _______________ priority<br> ? low<br> ? medium<br> ? highest<br> ? lowest
tekilochka [14]

Answer:

Highest

Explanation:

A interrupt request / IRQ is in which instructions are sent to Cpu and uses an interrupt handler to run distinct program . Hardware interrupts are used to manage occurrences such as obtaining modem or network card information, important presses, or mouse motions.

  • Interrupt request 0. – it is a system timer (can not be altered)
  • Interrupt request 1 – keyboard controller (can not be changed)
  • Interrupt request 2 – cascaded IRQ 8–15 signals (any device configured to use IRQ 2 will genuinely use IRQ 9)
  • Interrupt request 3 – serial port 2 controller
  • Interrupt request 4 –  serial port 1 controller
  • Interrupt request 5 –parallel port 2 and 3
  •  Interrupt request 6 - floppy disk controller
  •  Interrupt request 7 –parallel port 1. If a printer is not present, it is used for printers or for any parallel port. It can also possibly be shared with a secondary sound card with cautious port management.

As interrupt number increases priority level decreases, Priority level 0 is the highest priority level .

4 0
3 years ago
Why are people's visions of utopias and dystopias subjective?
Leno4ka [110]

Answer:

D. Because the technology needed for one person's utopia may be what creates disaster for another person's dystopia.

Explanation:

3 0
2 years ago
You need to upgrade memory in a system but you don't have the motherboard documentation available. you open the case and notice
Harlamova29_29 [7]
<span>The three yellow slots probably indicate triple channeling, which means the board uses DDR3 DIMMs. To know for sure, remove a DIMM and look for the position of the notch on the DIMM.</span>
6 0
3 years ago
In designing input by clinicians for an EHR system, which of the following would be effective for a clinician when the data are
svetoff [14.1K]

Answer:

Speech recognition

Explanation:

Speech recognition would be effective for a clinician when data entry is fairly repetitive and the vocabulary used is fairly limited and over time it as become a replacement for other forms of dictation.

3 0
4 years ago
The recheck document button, which resets the spelling and grammar checker to flag previously ignored errors, is located in the
kumpel [21]
The answer is b and c
7 0
3 years ago
Other questions:
  • Write a MATLAB script using the quiver and contour commands to visualize the field and its divergence. Assume the region of inte
    12·1 answer
  • In doing a load of clothes, a clothes drier uses 18 A of current at 240 V for 59 min. A personal computer, in contrast, uses 3.0
    7·1 answer
  • How many water bottles must be collected to win?
    8·2 answers
  • Which of the following is a narrative essay most like?
    10·2 answers
  • All states that have altered judicial selection techniques in recent years have adopted some form of:
    5·1 answer
  • When an external device becomes ready to be serviced by the processor the device sends a(n)_________ signal to the processor.
    8·1 answer
  • You are asked to write a program that prompts the user for the size of two integer arrays, user input for the size must not exce
    13·1 answer
  • One rule in the Java programming language is that you have to place a semicolon at the end of each statement. What is this rule
    10·2 answers
  • Prokaryotes are __________________ and include ________________________.
    8·1 answer
  • What are three coding languages that are used to build websites?
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!