/usr/lib/swipl/library/threadutil.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl
      • lists.pl
      • broadcast.pl
      • shlib.pl
      • option.pl
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl
      • settings.pl
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl -- Manage operators
      • pairs.pl
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl -- Lambda expressions
      • assoc.pl
      • prolog_format.pl
      • pure_input.pl
      • solution_sequences.pl
      • ordsets.pl
      • random.pl
      • base64.pl
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl
      • pprint.pl
      • atom.pl
      • modules.pl
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl
      • ugraphs.pl
      • url.pl -- Analysing and constructing URL
      • www_browser.pl
      • prolog_pack.pl
      • git.pl
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • quintus.pl -- Quintus compatibility
      • prolog_versions.pl
      • prolog_wrap.pl
      • dialect.pl
      • date.pl -- Process dates and times
      • persistency.pl
      • iostream.pl -- Utilities to deal with streams
      • prolog_code.pl -- Utilities for reasoning about code
      • strings.pl
      • dif.pl
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • terms.pl
      • ansi_term.pl
      • threadutil.pl -- Interactive thread utilities
        • threads/0
        • join_threads/0
        • with_stopped_threads/2
        • thread_has_console/0
        • attach_console/0
        • attach_console/1
        • tspy/1
        • tspy/2
        • tdebug/0
        • tdebug/1
        • tnodebug/0
        • tnodebug/1
        • tbacktrace/1
        • tbacktrace/2
        • tprofile/1
      • prolog_stack.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl
      • wfs.pl
      • sort.pl
      • dicts.pl
      • varnumbers.pl
      • rbtrees.pl -- Red black trees
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • thread.pl
      • base32.pl
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl
      • heaps.pl -- heaps/priority queues
      • statistics.pl -- Get information about resource usage
      • when.pl -- Conditional coroutining
      • shell.pl -- Elementary shell commands
      • prolog_jiti.pl
      • ctypes.pl -- Character code classification
      • fastrw.pl
      • prolog_profile.pl
      • prolog_trace.pl
      • exceptions.pl
      • optparse.pl
      • readln.pl -- Read line as list of tokens
      • writef.pl
      • make.pl
      • check.pl -- Consistency checking
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl -- Intercept and signal interface
      • tables.pl -- XSB interface to tables
      • prolog_deps.pl
      • nb_set.pl -- Non-backtrackable sets
      • prolog_coverage.pl
      • edit.pl
      • explain.pl
      • system.pl
      • prolog_debug.pl
      • increval.pl
      • vm.pl
      • prolog_config.pl
      • macros.pl
      • hashtable.pl
 with_stopped_threads(:Goal, Options) is det
Stop all threads except the caller while running once(Goal). Note that this is in the thread user utilities as this is not something that should be used by normal applications. Notably, this may deadlock if the current thread requires input from some other thread to complete Goal or one of the stopped threads has a lock. Options:
stop_nodebug_threads(+Boolean)
If true (default false), also stop threads created with the debug(false) option.
except(+List)
Do not stop threads from this list.
bug
- Note that the threads are stopped when they process signals. As signal handling may be delayed, this implies they need not be stopped before Goal starts.