<commit_before>=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.4

Copyright (c) 1998-2007 <NAME>.  All Rights Reserved.
=================================================================


% start by loading the necessary library support files:

| ?- logtalk_load(library(random_loader)).
...


% now you are ready for loading the example:

| ?- logtalk_load(blackboard(loader)).
...


% start the producer and the consumer, each one running in its own thread:

| ?- threaded_ignore(teacher::run(4)), threaded_ignore(student::run(10)).<commit_msg>Added a new example, "threads/blackboard", illustrating the use of the threaded_wait/1 and threaded_notify/1 built-in predicates.<commit_after>=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.4

Copyright (c) 1998-2007 <NAME>.  All Rights Reserved.
=================================================================


% start by loading the necessary library support files:

| ?- logtalk_load(library(random_loader)).
...


% now you are ready for loading the example:

| ?- logtalk_load(blackboard(loader)).
...


% start the producer and the consumer, each one running in its own thread:

| ?- threaded_ignore(teacher::run(4)), threaded_ignore(student::run(10)).

teacher is writing...
student is writing...
student is writing...
student is writing...
student is writing...
teacher is writing...
teacher is writing...
teacher is writing...
student is writing...
student is writing...
student is writing...
student is writing...
student is writing...
student is writing...
{'fraction_non_alphanumeric': 0.25673249551166966, 'fraction_numerical': 0.019150209455415918, 'mean_word_length': 4.866666666666666, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7376275', 'n_tokens_mistral': 454, 'n_tokens_neox': 406, 'n_words': 153}