comp.lang.ada
 help / color / mirror / Atom feed
* Tasking issues
@ 2007-08-11 17:03 shaunpatterson
  2007-08-11 18:42 ` Dmitry A. Kazakov
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: shaunpatterson @ 2007-08-11 17:03 UTC (permalink / raw)


I'm having trouble with tasking in Ada.  I'm used to working with
pthreads
in C/C++... and I'm finding tasks to be somewhat different/annoying.

My basic problem is I want to have 2 threads in my program.

One thread sits in the background and reads in messages,
dispatches them, etc and the other thread reads off a queue
and sends out messages when they are available.

As an analogy, let's assume my background task just got
input from the user (simulating the socket read) and the other
task just printed out stuff.

Something like

procedure main is
begin
  task get_name;
  task print_something;

  task body get_name is
      Name : String (1..25);
      Last : Integer;
  begin
      loop
          Get_Line (Name, Last);
      end loop;
  end get_name;

  task body print_something is
  begin
      loop
      Put_Line ("blah...");
      end loop;
   end print_something;

begin --- main

     loop;
          null;
     end loop;
end main;


Of course, this doesn't work as I'd expect.  Is there a way to
"timeout" the
first get_name thread... so the OS only waits on that thread for a
short period
of time to allow the other threads to do their business? and then go
back to
the thread?

Thanks
-- Shaun




^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2007-08-14  7:10 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-11 17:03 Tasking issues shaunpatterson
2007-08-11 18:42 ` Dmitry A. Kazakov
2007-08-12 11:06   ` Simon Wright
2007-08-12 12:05     ` Dmitry A. Kazakov
2007-08-12 17:12       ` shaunpatterson
2007-08-12 18:03         ` Dmitry A. Kazakov
2007-08-12 22:10         ` Jeffrey R. Carter
2007-08-13 19:54         ` Simon Wright
2007-08-13 22:30           ` shaunpatterson
2007-08-14  7:10             ` Tasking issues => Book List anon
     [not found]     ` <13bulskfjvogv8e@corp.supernews.com>
2007-08-12 20:20       ` Tasking issues Simon Wright
2007-08-11 18:51 ` jimmaureenrogers
2007-08-11 19:08 ` Jeffrey R. Carter
2007-08-11 22:31 ` Steve
2007-08-12  9:00 ` anon
2007-08-12  9:43   ` Dmitry A. Kazakov
2007-08-12 21:39     ` anon
2007-08-12 22:15       ` Jeffrey R. Carter
2007-08-13  9:13         ` anon
2007-08-13 19:37           ` Simon Wright
2007-08-13 20:17             ` Markus E.L. 2
2007-08-14  0:40           ` Jeffrey R. Carter
2007-08-13  9:22       ` Dmitry A. Kazakov
2007-08-13 12:41         ` Larry Kilgallen
2007-08-13 13:22           ` Dmitry A. Kazakov
2007-08-12 21:03   ` Maciej Sobczak
2007-08-12 22:07   ` Jeffrey R. Carter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox