> On Feb 17, 2017, at 11:11 AM, Dominique Devienne <ddevie...@gmail.com> wrote:
> 
> No they are not. They may be scheduled on threads, but they are not threads.

We're disagreeing on terminology, but I believe I’m correct. Threads don’t have 
to be implemented at the OS level. Threads implemented in user code are called 
“user threads” or “green threads” or sometimes “fibers”.
        
https://en.wikipedia.org/wiki/Thread_(computing)#Processes.2C_kernel_threads.2C_user_threads.2C_and_fibers
 
<https://en.wikipedia.org/wiki/Thread_(computing)#Processes.2C_kernel_threads.2C_user_threads.2C_and_fibers>

> You do have enough rope to hang yourself with, but Go unlike C has channels
> and the select statement,

We are in violent agreement here. Go has safe concurrency primitives; they’re 
one of the best features of the language. It also has unsafe ones like mutexes, 
and it allows sharing data between threads. You can inadvertently hurt yourself 
with shared data even if you only use the safe features — like by creating a 
channel of an interface type and not realizing that the channel is sending only 
pointers, not the objects themselves.

> That's the second time you've mischaracterized Go IMHO. —DD

After how many do I get a prize? ;-) 

I’ve written tens of thousands of lines of production Go code, so I think I’m 
entitled to some right to characterize the language, even if it differs from 
what you think.

—Jens

PS: I realize this thread [sic] has been way off-topic for a long time. This is 
my last reply to it on this list. Anyone may email me directly if they have 
something constructive to say :)
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to