Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I was asked in an interview that it is required to print numbers 1 to 3 in a sequential order by 3 threads without using any synchronisation techniques.

I think that we can access the thread id to find out which thread it is and keep a flag associated with this thread in a structure which can be set to true this thread in currently accessing the data.

Interviewer laughed at this idea. So obviously it is wrong.

What can be the way to achieve this task?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
235 views
Welcome To Ask or Share your Answers For Others

1 Answer

Create thread A
Thread A prints '1'
Thread A creates thread B and exits
Thread B prints '2'
Thread B creates thread C and exits
Thread C prints '3' and
exits

No explicit synchro required, prints 1,2,3 in order using three threads, is a totally pointless exercise.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...