all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: SAKURAI Masashi <m.sakurai@kiwanami.net>
Cc: nix@esperi.org.uk, eliz@gnu.org, monnier@IRO.UMontreal.CA,
	emacs-devel@gnu.org
Subject: Re: Multithreading, again and again
Date: Sat, 22 Oct 2011 13:30:30 -0600	[thread overview]
Message-ID: <m3sjmkddt5.fsf@fleche.redhat.com> (raw)
In-Reply-To: <20111022034102.3010613C550@vps1.kiwanami.net> (SAKURAI Masashi's message of "Sat, 22 Oct 2011 12:40:39 +0900")

>> Anyway, I think the single-thread event driven approach is better for
>> Emacs, like Node.js and other languages do.

Yes, maybe so, but I think there are two reasons concurrency is
desirable.

One reason is that, in practice, the current event-driven approach
sometimes falls down.  E.g., ERC can time out when something in Emacs
blocks too long.  These are bugs, and worse, won't be immediately fixed
by concurrency -- but at least could be, in the long run, in a permanent
way.

The other reason is that concurrency makes it easier to convert code to
run in the background, without a need for a drastic rewrite.  I think
Gnus is the prime candidate here -- make 'g' work in the background by
just inserting a (make-thread) at the appropriate juncture.  Rewriting
arbitrary code in the process-filter style is too much work, it seems to
me.

Tom



  reply	other threads:[~2011-10-22 19:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-28  6:49 Multithreading, again and again Dmitry Antipov
2011-09-28  7:50 ` joakim
2011-09-28  7:55   ` Julien Danjou
2011-09-28 13:37 ` Stefan Monnier
2011-10-17 21:57   ` Juri Linkov
2011-10-18  1:18     ` Stefan Monnier
2011-10-19 15:18       ` Tom Tromey
2011-10-19 20:51         ` Dave Abrahams
2011-10-19 22:01           ` Stefan Monnier
2011-10-19 22:05             ` Dave Abrahams
2011-10-20 23:00               ` John Wiegley
2011-10-20 23:52                 ` Dave Abrahams
2011-10-20 14:08             ` Richard Stallman
2011-10-20  1:12           ` SAKURAI Masashi
2011-10-20 17:09             ` Tom Tromey
2011-10-20 18:17               ` Stefan Monnier
2011-10-21  0:46                 ` SAKURAI Masashi
2011-10-21 14:18                   ` Nix
2011-10-21 14:48                     ` Eli Zaretskii
2011-10-22  3:40                       ` SAKURAI Masashi
2011-10-22 19:30                         ` Tom Tromey [this message]
2011-10-22 20:27                           ` Dave Abrahams
2011-10-18  8:24     ` Helmut Eller
2011-09-28 15:55 ` Helmut Eller
2011-10-19 15:14 ` Tom Tromey
2011-10-19 15:20 ` Tom Tromey
2011-10-19 18:30   ` Stefan Monnier
2011-10-19 19:00     ` Tom Tromey
2011-10-19 21:33       ` Stefan Monnier
2011-10-20 17:07         ` Tom Tromey
2011-10-20 18:33           ` Stefan Monnier
2011-10-20 20:54             ` Dave Abrahams
2011-10-20 20:57             ` Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3sjmkddt5.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=m.sakurai@kiwanami.net \
    --cc=monnier@IRO.UMontreal.CA \
    --cc=nix@esperi.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.