I don't really need to use the attachInterrupt() even the simple analogRead() can be fine.
No, you really don't!
Whenever I see a post which includes the word "interrupt", I instinctively cringe.
Seems you - and many other "newbies" of course - do not understand what an interrupt is.
An interrupt is a mechanism for performing a task that can be performed virtually instantaneously, that must be performed virtually immediately, and that is not in itself intended to affect the flow of the main program (or delay it) in any way. Servicing a pushbutton for example - a common expectation - essentially tends to fail all three criteria. The terms "instantaneously" and "immediately" are here defined in microprocessor, not human context, that is in terms of microseconds.
You wish to "interrupt" the operation of a particular part of your code. This is quite different to the above; to do this, you must insert decisions into the code where you wish it to be "interrupted".
The trick is to write "non-blocking" code. This prohibits the use of "While" loops or equivalent constructs (which automatically precludes "delay()"), but is instead, a chain of "If" constructs within the main loop(). Which incidentally, is a state machine. The important thing is that many different tasks are allowed to be performed apparently simultaneously given that each only does what it must at any given instant, promptly passing on to the next.