Green threads are threads that are scheduled by a virtual machine instead of natively by the underlying operating system.
It does sound like it actually meets the m:1 thread model, in which m user-level threads correspond to 1 kernel-level entity.
Tell me the difference between those two terms?
The term “green threads” usually refers to the case where scheduling is performed by a virtual machine, whereas the M:1 thread model can be implemented using any user-space threading library (e.g. GNU Pth).
Most VMs implementing green threads today schedule some number of user-level threads using a single OS thread, thus preventing programs from taking advantage of multiple cores. In principle, a VM could use multiple OS threads (Erlang uses this technique to allow its lightweight processes to take advantage of SMP); such a VM would no longer fit the “M:1 thread model”.