Pause/Resume workflow

In our use-case, sometimes I wanted to pause my workflow.

After receiving a signal from an external event I wanted to resume my workflow by just knowing my workflow and run id.

Is this possible in temporal?

this I am referring to.

In the above thread, I can see that @samar has responded saying it can be achieved in application logic itself.

How will my code look like? I will have two signals one is to pause my workflow one is to resume.
How can I exactly pause my workflow. Is it kind of blocking my workflow thread?