Question
Given two character strings s1 and s2. Using C and pthread to write down a parallel program to find out number of substrings, in string s1, that are exactly the same as string s2. The strings are finished with ‘'.
For instance, suppose number_substring(s1, s2) implements function, then number_substring ("abcdab", "ab") = 2, number_substring("aaa", "a")= 3, number_substring("abac", "bc") = 0. Assume size of s1 and s2 are n1 and n2, respectively, and p threads are used, we suppose that n1 mod p = 0, and n2 < n1/p. Strings s1 and s2 are stored in a file named "strings.txt". String s1 is evenly partitioned among p threads to concurrently search for matching with string s2. After a thread finishes its work and obtains number of local matching, this local number is additional into a global variable showing total number of matched substrings in string s1. At last this total number is printed out. The format of strings.txt is like this (the first string is s1 and the second one is s2):
s1: Hello we are doing pthread testing with a string.
s2:in