Ok, let's assume we have a continuous function f:[0,infty) --> R such that lim_{x --> infty} f(x) = A, for some finite value A. (I have shown that A is 1 for our example, and that x*sin(1/x) (0 in 0) is continuous as well. These are the only properties I will need to show it uniformly continuous.)

The basic idea is to use that f is already uniformly continuous on each compact interval [0,N] and that (for large N) f(x) is almost equal to A, so that nothing "bad" can happen there: if all values are close to A, then they are certainly close to each other.

So take e>0. I will need to find a d>0 such that when |x-x'| < d then |f(x) - f(x')| < e (regardless which x and x' from [0,infty) I choose).

So take N so large that |f(x) - A| < e/2. This N exists (by definition) because of the limit of f at infinity being A. Now consider the interval I=[0,N+1]. The function f is uniformly continuous here, so that there exists a d>0 such that (x and x' from I) and |x-x'| < d imply that |f(x)-f(x')| < e. We assume without loss of generality that d < 1 (we can always choose a smaller one)

Now look at any two values x and x' from [0,infty) with |x-x'| < d. If both are in I, we are ok. The fact that d < 1 implies that if x and x' are d-close together, then they are either both in I or both >=N: the overlap of [N,infty) and [0,N+1] is too big. (draw a picture). And if they are both >= N then |f(x)-f(x)| <= |f(x)-A| + |A-f(x')| < e/2 + e/2 = e. So in either case, |f(x)-f(x')| < e and we are done: d works.