Generating Pairs of Random Numbers Please consider the following probability density function of two variables.
\begin{eqnarray*}
f(x_1,x_2) &amp;=&amp; \begin{cases}
    2(x_1+x_2) &amp; \text{for} \,\, 0 \le x_1 \le x_2 \le 1\\
    0 &amp;\text{ otherwise } \\
    \end{cases}
\end{eqnarray*}
I would like to generate two random values $X_1$ and $X_2$ such that there
distribution is consistent with the above probability density function.

If the above probability density function was of just one variable, then I would solve the above problem with the following steps.
1) I would  find the distribution function $F$ by integrating.
2) I would generate a random number $a$ on the interval $[0,1]$ using the
uniform distribution.
3) I would find a number $X$, such that $F(X) = a$. Then $X$ would be the
random number I seek.
I am wondering whether a similar method would work for a function of two
variables.
This is the problem of sampling from a multivariate distribution.

Simple method

In your case, there is a fairly simple method that will probably suffice.  First, randomly pick a value for $X_1$ according to the marginal distribution on $X_1$.  In other words, we define

$$g(x_1) = \int_{x_2=x_1}^{x_2=1} f(x_1,x_2) \; dx_2,$$

the probability density function for $x_1$, and sample $X_1$ according to $g$.  Since this is a univariate distribution, you already know how to do that (using the methods you described).  Here we have $g(x_1) = 1 + 2x_1 - 3 x_1^2$.

Second, randomly pick a value for $X_2$ according to the conditional distribution on $X_2$ given the value of $X_1$ picked earlier.  This has probability density

$$h_{x_1}(x_2)  = f(x_1,x_2)/g(x_1),$$

which is also a univariate distribution, so you already know how to sample from $X_2$ (once $X_1$ is fixed).

More general method

Alternatively, you can apply any of the general methods for sampling from a multivariate distribution.  They are probably shooting a fly with a cannon -- they're probably much more complex than what you need.  But if you want a relatively simple one, you could take a look at slice sampling.