answer.
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
vaieri [72.5K]
2 years ago
15

Suppose two threads execute the following C code concurrently, accessing shared variables a, b, and c: Initialization int a = 4;

int b = 0; int c = 0; Thread 1 Thread 2 if (a < 0) { b = 10; c = b-a; a = -3; } else { c = b + a; } What is the total number of possible values for c after both threads complete? You can assume that reads and writes of the variables are atomic and that the order of statements within each thread is preserved in the code generated by the C compiler?
Computers and Technology
1 answer:
Oksanka [162]2 years ago
6 0

Answer:

Therefore, there are 4 possible values for c after both threads complete

c = 4, 14, 3, 13

Explanation:

Initialization:

int a = 4;

int b = 0;

int c = 0;

Thread 1:

if (a < 0)

{

c = b - a;

}

else

{ c = b + a; }

Thread 2:

b = 10;

a = -3;

We have to consider all the possible cases.

Case 1: a = 4, b = 0, c = 0

if (a < 0) false

{

c = b - a;

}

else

{ c = b + a; }  c = 0 + 4 = 4

c = 4

Case 2: a = 4, b = 10, c = 0

if (a < 0) false

{

c = b - a;

}

else

{ c = b + a; }  c = 10 + 4 = 14

c = 14

Case 3: a = -3, b = 0, c = 0

if (a < 0) true

{

c = b - a; c = 0 - (-3) = 3

}

else

{ c = b + a; }  

c = 3

Case 4: a = -3, b = 10, c = 0

if (a < 0) true

{

c = b - a; c = 10 - (-3) = 13

}

else

{ c = b + a; }  

c = 13

Therefore, there are 4 possible values for c after both threads complete

c = 4, 14, 3, 13

You might be interested in
Which task can a company perform with intranets?
gregori [183]
I would probably say C, Though you might want a second, person to clarify. But My answer is C..
6 0
2 years ago
Read 2 more answers
You are attempting to open a file containing a list of integer numbers, each on a separate line, and read them into Python as in
baherus [9]

Answer:

The answer to this question can be given as:

Statement:

number = int(line.strip())

Explanation:

In the above statement, we declare an integer variable number accept the integer value from the file that name is line. In this line, we use the strip() function. This function returns a duplicate string with both starting and tracking characters removed (based on the string parameter passed). The strip() function removes characters from both sides (left and right) based on the parameter(a string defining the collection of characters to be removed).

7 0
2 years ago
The Company management has asked that you compare the OSSTMM and the PTES to determine which methodology to select for internal
Sonbull [250]

Answer:

The basic comaprism of OSSTMN and PTES includes the following: OSSTMN is more theoretical, security assessment methodology, and Metrics based why PTES is technology oriented, penetration testing methodology ,  extended analysis of all stages

Explanation:

Solution

Penetration testing has several methodologies which include :OSSTMM and PTES  

The comparison between OSSTMM and PTES is stated as follows:

OSSTMM:                                                

Security assessment methodology

More Theoretical  

Metrics based

PTES :

Technology oriented

Penetration testing methodology

Extended analysis of all stages

Now,

There are 7 stages which is used to define PTES for penetration testing.(Penetration Testing Execution Standard)

  • Pre-engagement Interactions
  • Intelligence Gathering
  • Threat Modeling
  • Vulnerability Analysis
  • Exploitation
  • Post Exploitation
  • Reporting

Now,

The OSSTMM is used to obtain security metrics and performing penetration testing .The OSSTMM provides transparency to those who have inadequate security policies and configurations.

The OSSTMM includes the entire risk assessment process starting from requirement analysis to report creation.

Six areas are covered by OSSTMM which are:

  • Information security
  • Process security
  • Internet technology security
  • Communications security
  • Wireless security
  • Physical security
7 0
1 year ago
1. Write a set of routines for implementing several stacks and queues within a single array. Hint: Look at the lecture material
JulsSmile [24]

Answer:

Out of the two methods The 2nd method is a better option for implementing several stacks and arrays using the single array system this is because Method 2 makes efficient use of the available space

Explanation:

A) Method 1 ( Divide the given single array in the size of n/k.)

  • How to use method 1 to implement several stacks involves :

i)  To implement several stacks through an array (x) is by dividing the array in n/k parts.

ii) The k represents the slots in which the different stacks will be placed and the n represents the size of the array x.

iii) If you need to implement at least two stacks place the first stack in the slot of a [0] to a [n/k - 1], and another stack in the slot of a[n/k] to a[2n/k-1].

note: The  disadvantage of this method is that the use of the space of the array is not much efficient. therefore method 2 is better

  • How to use method 1 to implement queues involves :

i) queues can also be implemented through an array. applying the same method above

ii) Divide the array in slots and place the queues in that slots.

This method has a problem with  the efficient utilization of the space.therefore method 2 is preferred

B) Method 2 ( uses the space efficiently ) uses two more arrays to implement stacks which are : Top_array and Next_array

  • how to use method 2 to implement several stacks

i) Store the indexes of the next item that will also be stored in all stacks in this initial stack

ii)The initial actual array is x[] and this will store the stacks.

iii)Simultaneously with several stacks, the stack which contain the free slots in the array x[] will also be maintained.

iv)  The entries of the Top_array[] will be initialized to -1. This implies that all the stacks are empty.

v)  Firstly the entries of the array Next_array[i] will be initialized to i+1, since all the slots initially are free and are pointed to the next slot.

vi) Initialize The top of the free stack that is maintaining the free slots  as 0.

vii)  The complexity of push () (method to insert an element) and pop () (method to delete an element) operations by using this method is O (1).

  • How to use method 2 to implement several queues

The same method applicable to implementing several stacks is used here but with a difference is the presence of three extra arrays which are :

Front_array[] = indicates the number of queues. This array stores the indexes of the front elements of the stacks.

Rear_array[] = determines the sizeof the array k . This array stores the indexes of the last elements of the stacks.

Next_array[] = The array n indicates the size of the single array say x. This array stores the indexes of the next items that is being pushed.

i) The initial actual array is a[] which will store the queues. The free slots will also be maintained.

ii)The entries of the Front_array[] will be initialized to -1. This means  that all the queues are empty initially

ii) Initially the entries of the array Next_array[i] will be initialized to i+1, since all the slots initially are free and are pointed to the next slot.

iv) Apply The complexity of enqueue ()  and dequeue ()  by using this method is O (1).

4 0
2 years ago
You resurrected an old worksheet. It appears to contain most of the information that you need, but not all of it. Which step sho
shtirl [24]

Answer:

a)

Explanation:

Since the worksheet contains most of the data that you need, there is a decent possibility that it also contains the data that you are missing. Therefore, you should check for data you have previously hidden. Sometimes, some data in a worksheet may become irrelevant in a given moment, and instead of deleting it since it may be useful later most people tend to make that data hidden. So checking for previously hidden data may be the best solution in this scenario.

7 0
1 year ago
Other questions:
  • Which statement best describes how the rapid prototyping model works?a) Developers create prototypes to show stakeholders how va
    11·2 answers
  • Which of these statements regarding mobile games is true? A. They are typically played indoors. B. They have detailed environmen
    7·1 answer
  • Universal Containers needs a field on the Account to track how many Opportunities are closing within the next 30 days. What can
    9·1 answer
  • Write a Python function called simulate_observations. It should take no arguments, and it should return an array of 7 numbers. E
    7·1 answer
  • Software as a Service (SaaS) refers to the use of computing resources, including software and data storage, on the Internet rath
    13·1 answer
  • Interpretations of​ Moore's law assert​ that:
    13·1 answer
  • Assume you have a variable, budget, that is associated with a positive integer. Assume you have another variable, shopping_list,
    11·1 answer
  • #Write a function called "replace_all" that accepts three #arguments: # # - target_string, a string in which to search. # - find
    11·1 answer
  • Which of the following statements is true regarding input and output?
    12·2 answers
  • Write a function named shout. The function should accept a string argument and display it in uppercase with an exclamation mark
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!