From: bbense+comp.lang.ruby.Jan.18.02@... Date: 2002-01-19T02:18:50+09:00 Subject: Re: A few words on threads -----BEGIN PGP SIGNED MESSAGE----- In article <1011204066.634998.2706.nullmailer@ev.netlab.jp>, Yukihiro Matsumoto wrote: >Hi, > >In message "A few words on threads" > on 02/01/17, "Avdi B. Grimm" writes: > >|P.S. Does anyone here have any theories on /why/ threads >|are still percieved as such an arcane topic in the UNIX and >|scripting language communities? > >For scripting language community, it's probably because implementing >an *efficient* thread safe interpreter (and its extension libraries) >is so difficult. > - - There are real problems with threads and unix in general. Dealing with signals is difficult. Dealing with large data structures is can be a problem. Debugging can be a nightmare. None of these problems are that difficult to solve for a single OS or a single program, but you have to design it in from the beginning. It really hasn't been that long that you could count on a consistant thread API on a unix platform. - - I think if you say compare objects in say Ruby and Perl, it's clear that there are certain things that you can't just "bolt on after". I think threads in a interpreted language is one of these things. The failure of threads in Perl5 I think was one of the motivating reasons behind Parrot. - - I happen to agree with Tom Christenson when he rants about threads being overrated. They are a powerful tool and can be a big win in certain situations[1], but fork provides a much more robust tool that is entirely sufficient for most applications on a Unix box. There is nothing you can do with threads that you can't do with fork, it's just slower and safer. - - Booker C. Bense [1]- Like say embedded systems. -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBPEhToAD83u1ILnWNAQF55wQAwlHMh1kKntOOi0o5Zqnsy9VXhIyntOU/ qY4yI3NMb7y/uyMilAKrkhIeR6coVV3um8gflSBcaU443M34RbjXX9jPICo0Uy4P yZ+Sz+1oBMPsluBH+l+ind+8Q9JSDqIMWD6dSIj8foJeaz/8OjWhf7vs9lQ7RrqR tbquIknMfuA= =uWBO -----END PGP SIGNATURE----- --