Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions exercises/practice/bank-account/.docs/instructions.append.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Instructions append

````exercim/note
Python doesn't support "true" concurrency due to the [Global Interpreter Lock][GIL].
While work is ongoing to create support for [free-threading in Python][free-threading], it is still experimental.
Current standard library solutions such as [multiprocessing][multiprocessing-module] and [threading][threading-module] are difficult to implement with the current track tooling.


As a result, the concurrency requirement has been set aside for this exercise.
Account operations are sequential on a single thread, and no concurrency or "race condition" tests are run.

[GIL]: https://realpython.com/python-gil/
[free-threading]: https://docs.python.org/3/howto/free-threading-python.html
[threading-module]: https://docs.python.org/3/library/threading.html#module-threading
[multiprocessing-module]: https://docs.python.org/3/library/multiprocessing.html#sharing-state-between-processes
````

<br>

## Exception messages

Sometimes it is necessary to [raise an exception](https://docs.python.org/3/tutorial/errors.html#raising-exceptions). When you do this, you should always include a **meaningful error message** to indicate what the source of the error is. This makes your code more readable and helps significantly with debugging. For situations where you know that the error source will be a certain type, you can choose to raise one of the [built in error types](https://docs.python.org/3/library/exceptions.html#base-classes), but should still include a meaningful message.
Expand Down
Loading