ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: File Archives :: Preemptive Multithreading 1.0
Preemptive Multithreading 1.0

FILE INFORMATION

Ranked as 24979 on our all-time top downloads list with 1270 downloads.
Ranked as 7469 on our top downloads list for the past seven days with 3 downloads.

threadsp.zip
Filename threadsp.zip
Title Preemptive Multithreading 1.0
Description These are functions for *preemptive* multithreading in an assembly-language program. This is similar to the way modern operating systems multitask. It uses mode 2 interrupts, so grayscale is possible by editing the interrupt handler. It supports unlimited number of threads (currently only one variable limits it to 255); exiting and canceling threads mid-slice; waiting on another thread; and variable thread priorities, similar to nice in *nix. It also supports conditional assembling, so you can include only the features you need!
Author Christopher Williams (cow3.14@juno.com)
Category TI-86 Assembly Routines
File Size 42,383 bytes
File Date and Time Sat Jul 24 20:44:40 2004
Documentation Included? Yes

RATING

If you have downloaded and tried this program, please rate it on the scale below
BadGood
1  2  3  4  5  6  7  8  9  10  

REVIEWS

Review
Review by  James abba shalaka Rubingh
Reviewed on 2004-07-29
Being the only interesting source code I've seen released for the Z80 TI calculators in literally five years, I thought I would take a pedestrian look at these routines. With that said, this is a very interesting project.

The first thing to note is that it's a person with obvious C programming style, coding in Z80 assembly. Personally I found the code easy to follow, but for somebody who has never used structures in C, it might be a bit confusing. There are things like a "memory structure" called "thread_t" that organizes the data for each thread much like a structure. However, it's Z80, and not C, so there are preprocessor tricks added to change the size of the structure to add an extra word for "return value," which traditionally would be returned through the stack instead of added to the structure size. No big deal though, it works. The rest of the code is separated into very clear segments such as creating threads, stopping and joining.

The reason I have this code a 9 instead of a 10 is because it is, in my opinion, while an impressive project almost entirely useless. This is a lot of code, considering the benefits compared to simply adding a couple of calls in your "main loop" are few. The bottom line is if you're using interrupts already and reading key-presses, it means your code is blocking, and while it's blocking you can always add a "call" here or there to get this same functionality in about twenty lines of code.

With that said, I think this is a great little package. I give it a 9 out of 10, and a tip of my hat.


Do you want to write another review for this file?

ARCHIVE CONTENTS

Archive Contents
Name Size
threadsp/COPYING.txt    18349
threadsp/ChangeLog    3762
threadsp/README.txt    6736
threadsp/TODO    1482
threadsp/asm86.h    3896
threadsp/c/count.c    1017
threadsp/c/lists.c    821
threadsp/c/sema.c    555
threadsp/c/sema.h    220
threadsp/c/threads.c    7644
threadsp/c/threads.h    1525
threadsp/count.86p    861
threadsp/count.asm    2087
threadsp/count.lst    43431
threadsp/ints.inc    333
threadsp/inttest.86p    186
threadsp/inttest.asm    662
threadsp/inttest.lst    4149
threadsp/lists.inc    2005
threadsp/puthex.inc    539
threadsp/threads.asm    14697
threadsp/ti86asm.inc    11233

HELP US IMPROVE OUR FILE ARCHIVE

We at ticalc.org strive to keep our archives well-maintained, but we're not perfect. We rely on our community of users to help catch miscategorized files, inappropriate material, or other issues, in order to keep our site as useful as it can be.

If you see anything about this file that you want to bring to the attention of a file archiver, please use the form below. In order to use this form, you must have a (free) ticalc.org account. You can also email filearchive@ticalc.org - be sure to include all details about the file. Thanks for the help, and we couldn't do this without you!

Please describe your concern about this file:

  Copyright © 1996-2010, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer