This is probably obvious and/or part of systems like GTD, but I came up with this for myself recently, and it has worked remarkably well.
When working and trying to focus on one task at hand, which may not be my favorite task of all times, I find myself having to deal with distracting ideas popping into my head. Some of them are good ideas, and some of them are completely useless, but this can really only be determined after spending some time thinking about them, which is exactly what I am trying to avoid. I used to frequently cave in on this type of internal distraction, and my productivity would take a hit. The worst part is that once you start considering one such idea, it tends to lead to another and another.
What I have started doing now is just capture these ideas on paper, and then get back to them in my next break. Often times I will realize that the idea was stupid, and doesn’t deserve being pursued any further. But having it there puts my mind at ease, and makes it a lot easier to get on with the current task. The simple act of moving the distracting thought onto paper seems to make it easier to remove it from my mind. I use a simple notepad for this, which I keep next to my keyboard.