Thank you, Like you said sleep(1/2) won't work, then how to give a sleep of 500ms.
Regards, NK On Thu, Sep 3, 2020 at 1:19 PM Micka <[email protected]> wrote: > It's not the best place to discuss this topic here ..... > > have a look here: > > > https://stackoverflow.com/questions/6460542/performance-of-pthread-mutex-lock-unlock > > > On Thu, Sep 3, 2020 at 9:46 AM Niresh <[email protected]> wrote: > >> >> Sorry I did not finish the thing and got posted accidentally >> For example, I have two thread sharing a global shared memory variable as >> below. The variable shmPtr->status is protected with mutex lock in both the >> function. Though there is a sleep(1/2) between mutex lock inside "for loop" >> in the task1 function , I could not access the shmPtr->status in task2 when >> required and have to wait until "for loop" exit in the task1 function, this >> takes around 50 seconds to take control of shmPtr->status by the task2 >> function. >> >> I am wondering why the task1 function is not releasing the mutex lock >> even with an sleep(1/2). >> >> thr_id1 = pthread_create ( &p_thread1, NULL, (void *)execution_task1, >> NULL ); >> thr_id2 = pthread_create ( &p_thread2, NULL, (void *)execution_task2, >> NULL ); >> >> void execution_task1() >> { >> for(int i = 0;i < 100;i++) >> { >> //100 lines of application code running here >> pthread_mutex_lock(&lock); >> shmPtr->status = 1; //shared memory variable >> pthread_mutex_unlock(&lock); >> sleep(1/2); >> } >> } >> >> void execution_task2() >> { >> //100 lines of application code running here >> pthread_mutex_lock(&lock); >> shmPtr->status = 0; //shared memory variable >> pthread_mutex_unlock(&lock); >> sleep(1/2); >> } >> >> Regards, >> NK >> On Thursday, September 3, 2020 at 12:55:48 PM UTC+5:30 Niresh wrote: >> >>> Hi, >>> >>> I am using beagle Bone Black with debian image. Could any please suggest >>> how to optimize the application code using pthread_mutex_lock. Let me >>> describe the solution I am looking at. >>> >>> For example, I have two thread sharing a global shared memory variable >>> as below >>> >>> thr_id1 = pthread_create ( &p_thread1, NULL, (void *)execution_task1, >>> NULL ); >>> thr_id2 = pthread_create ( &p_thread2, NULL, (void *)execution_task2, >>> NULL ); >>> >>> void execution_task1() >>> { >>> >>> for(int i = 0;i < 100;i++) >>> { >>> pthread_mutex_lock(&lock); >>> shmPtr->status = 1; >>> pthread_mutex_unlock(&lock); >>> sleep(1/2); >>> } >>> } >>> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/1d7fc600-e5da-4fbc-b26a-fa1f0c3a3514n%40googlegroups.com >> <https://groups.google.com/d/msgid/beagleboard/1d7fc600-e5da-4fbc-b26a-fa1f0c3a3514n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to a topic in the > Google Groups "BeagleBoard" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/beagleboard/-9GlXf8Y9ns/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/CAF%2BMRt%3DAQktRK_NgTmxFCvR3NVyudd9NBgwWTt7h-5Ub7ftk7w%40mail.gmail.com > <https://groups.google.com/d/msgid/beagleboard/CAF%2BMRt%3DAQktRK_NgTmxFCvR3NVyudd9NBgwWTt7h-5Ub7ftk7w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CAF7-PaRP26cZW_Gh947VdUv5NM7fm-1fzvZ0pD%3DhaqURZt_SsA%40mail.gmail.com.
