jessenoller.com - Python Threads and the Global Interpreter Lock
http://jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/
interesting interesting!
oach the problem with what is now the near ubiquitous solution to the concurrency “problem”: Threads, a
more on the python-thread shennanigans. Better than most, but like many, seems to ignore GUI programming. Did webdev eat *everything* else?has_many :bugs, :through => :rails: Thread safety for your Rails
Long story short, Rails can now serve multiple requests in more than one ruby threads ( or native threads if you’re on JRuby ) parallelly. Charles Nutter has done a good job of explaining the details here. Should you give a flying fuck ? You totally should if : * You’re using JRuby * You’re bold enough to play around with bleeding edge Neverblock stuff * Your application has a lot of long running processes, which are not heavy on blocking IO ( this would be rare I imagine ) You totally should NOT if : * You’re using Event based mongrel, thin or any of the event based web server in production. Event based servers don’t use Threads, so it just doesn’t matter. * You CBA You may have heard a bunch of hype about how threads make everything 100x faster, this is far from the truth. Don’t believe everything the hype merchants want to sell you, test your application first and see if it helps.良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - ひげぽん OSとか作っちゃうかMona-
Simple forum that uses twitter. Small, simple, and kind of brilliant.
Twitter with threading.
finally here: threads for twitter軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech
軽量スレッドブーム到来Fix a bug in Ruby’s configure.in and get a ~30% performance boost. at time to bleed by Joe Damato
technical ramblings from a wanna-be unix dinosaurFixing Threads in Ruby 1.8: A 2-10x performance boost at time to bleed by Joe Damato
good explanation of Ruby's threads & stack implementation
6s
ruby 1.8 mri assembly threadsMultiprocessing with Python
Learn to scale your UNIX® Python applications to multiple cores by using the multiprocessing module which is built into Python 2.6. Multiprocessing mimics parts of the threading API in Python to give the developer a high level of control over flocks of processes, but also incorporates many additional features unique to processes.
In a previous article for IBM® developerWorks®, I demonstrated a simple and effective pattern for implementing threaded programming in Python. One downside of this approach, though, is that it won't always speed up your application, because the GIL (global interpreter lock) effectively limits threads to one core. If you need to use all of the cores on your machine, then typically you will need to fork processes, to increase speed. Dealing with a flock of processes can be a challenge, because if communication between processes is needed, it can often get complicated to coordinate all of the calls. Fortunately, as of version 2.6, Python includes a module called "multiprocessing" to help you deal with processes. The API of the processing module has some similarities to the way the threading API works, but there are also few differences to keep in mind. One of the main differences is that processes have subtle underlying behavior that a high-level API will never be able to completely abstAdobe - デベロッパーセンター : ActionScript Thread Library 1.0 (そうめん) で非同期処理をスマートに
そうめん
Threadのざっくりした説明。