I was enthusiastic about this proposal when I first saw it, but on
reflection, I have misgivings. The y argument to (0 T. y) is reserved
for thread parameters; with the proposal, how will thread parameters be set?
I think it would be better to leave the design as it is, to allow the
user complete control over the thread parameters.
Using 0&T.@''^:n'' will come to be seen as naive. Users will first
check the number of threads and then create what they need.
Henry Rich
On 4/28/2022 10:04 PM, Elijah Stone wrote:
(If more than y threads are already doing work when 0 T.y is issued,
then the extraneous threads should exit as soon as they are finished;
this should be completely transparent. Thread count is a hint; it
should not affect semantics except in a buggy program.)
On Thu, 28 Apr 2022, Elijah Stone wrote:
Current interface for creating threads is 0 T.''. I find this
interface problematic for a couple of reasons:
1. Pretty much every j script I have seen anyone write is headed by
something like 0&T.@''^:n'', where n is the desired number of threads
to create. I haven't ever seen anyone call 0 T.'' directly by hand,
and I don't think there is ever a good reason to do that.
0&T.@''^:n'' is cumbersome and not particularly clear.
2. There is no mechanism to reduce the number of threads.
3. (This was pointed out by somebody else:) if a script is headed by
0&T.@''^:n'', then every time that script is reloaded, n _new_
threads will be created, which is probably not desirable behaviour.
I therefore suggest that the threading interface be changed so that 0
T.y ensures that there are y threads, creating or destroying threads
as needed.
Question: should y be the overall number of threads, or the number of
threads on top of the master thread? If the former, should 0 T.0 be
punned to exit the session (i.e. kill all threads, including the
master thread)?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm