]> granicus.if.org Git - curl/commitdiff
Hammer home the fact that "multi interface" != "multi-threaded"
authorDan Fandrich <dan@coneharvesters.com>
Tue, 9 Sep 2008 05:39:59 +0000 (05:39 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Tue, 9 Sep 2008 05:39:59 +0000 (05:39 +0000)
docs/libcurl/libcurl-tutorial.3

index 9e97fae9e28d232eb2fe4a82fc80beb0bd89ba36..1a1b3980f1fd7ca34cdec630d3ea60cba79cdd94 100644 (file)
@@ -1117,12 +1117,18 @@ interface that transfers one file at a time and doesn't return until its
 done.
 
 The multi interface on the other hand, allows your program to transfer
-multiple files in both directions at the same time, without forcing you to
-use multiple threads.
+multiple files in both directions at the same time, without forcing you
+to use multiple threads.  The name might make it seem that the multi
+interface is for multi-threaded programs, but the truth is almost the
+reverse.  The multi interface can allow a single-threaded application
+to perform the same kinds of multiple, simultaneous transfers that
+multi-threaded programs can perform.  It allows many of the benefits
+of multi-threaded transfers without the complexity of managing and
+synchronizing many threads.
 
 To use this interface, you are better off if you first understand the basics
 of how to use the easy interface. The multi interface is simply a way to make
-multiple transfers at the same time, by adding up multiple easy handles in to
+multiple transfers at the same time by adding up multiple easy handles in to
 a "multi stack".
 
 You create the easy handles you want and you set all the options just like you