In this chapter we consider some fundamental techniques for concurrent programming using CML.