Sleep: Difference between revisions
Content added Content deleted
No edit summary |
imported>Acediast (→{{header|COBOL}}: added CONTINUE AFTER from COBOL 2023) |
||
Line 898: | Line 898: | ||
=={{header|COBOL}}== |
=={{header|COBOL}}== |
||
COBOL 2023 introduced the <code>AFTER</code> phrase of the <code>CONTINUE</code> statement to specify a time period in seconds for which execution will be suspended, which. |
|||
⚫ | |||
{{works with|GnuCOBOL}} |
|||
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
|||
PROGRAM-ID. Sleep-In-Seconds. |
|||
DATA DIVISION. |
|||
WORKING-STORAGE SECTION. |
|||
01 Seconds-To-Sleep USAGE IS FLOAT-LONG. |
|||
PROCEDURE DIVISION. |
|||
ACCEPT Seconds-To-Sleep |
|||
DISPLAY "Sleeping..." |
|||
CONTINUE AFTER Seconds-To-Sleep SECONDS |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
The first expects the amount of time to be in seconds. |
The first expects the amount of time to be in seconds. |
||
{{works with|ACUCOBOL-GT}} |
{{works with|ACUCOBOL-GT}} |
||
{{works with| |
{{works with|GnuCOBOL}} |
||
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
||
PROGRAM-ID. Sleep-In-Seconds. |
PROGRAM-ID. Sleep-In-Seconds. |
||
Line 907: | Line 926: | ||
DATA DIVISION. |
DATA DIVISION. |
||
WORKING-STORAGE SECTION. |
WORKING-STORAGE SECTION. |
||
01 Seconds-To-Sleep USAGE COMP-2. |
01 Seconds-To-Sleep USAGE IS COMP-2. |
||
*> Note: COMP-2, while supported on most implementations, is |
|||
*> non-standard. FLOAT-SHORT is the proper USAGE for Native |
|||
*> IEEE 754 Binary64 Floating-point data items. |
|||
PROCEDURE DIVISION. |
PROCEDURE DIVISION. |
||
ACCEPT Seconds-To-Sleep |
ACCEPT Seconds-To-Sleep |
||
DISPLAY "Sleeping..." |
DISPLAY "Sleeping..." |
||
CALL "C$SLEEP" USING BY CONTENT Seconds-To-Sleep |
CALL "C$SLEEP" USING BY CONTENT Seconds-To-Sleep |
||
DISPLAY "Awake!" |
DISPLAY "Awake!" |
||
GOBACK. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
While the second expects the time to be in nanoseconds. Note: Windows systems can only sleep to the nearest millisecond. |
While the second expects the time to be in nanoseconds. Note: Windows systems can only sleep to the nearest millisecond. |
||
{{works with| |
{{works with|GnuCOBOL}} |
||
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
||
PROGRAM-ID. Sleep-In-Nanoseconds. |
PROGRAM-ID. Sleep-In-Nanoseconds. |
||
OPTIONS. |
|||
DEFAULT ROUNDED MODE IS NEAREST-AWAY-FROM-ZERO. |
|||
DATA DIVISION. |
DATA DIVISION. |
||
WORKING-STORAGE SECTION. |
WORKING-STORAGE SECTION. |
||
01 Seconds-To-Sleep USAGE |
01 Seconds-To-Sleep USAGE IS FLOAT-LONG. |
||
01 Nanoseconds-To-Sleep USAGE |
01 Nanoseconds-To-Sleep USAGE IS FLOAT-LONG. |
||
01 Nanoseconds-Per-Second CONSTANT 1000000000. |
01 Nanoseconds-Per-Second CONSTANT AS 1000000000. |
||
PROCEDURE DIVISION. |
PROCEDURE DIVISION. |
||
ACCEPT Seconds-To-Sleep |
ACCEPT Seconds-To-Sleep |
||
COMPUTE Nanoseconds-To-Sleep |
|||
= Seconds-To-Sleep * Nanoseconds-Per-Second |
|||
END-COMPUTE |
|||
DISPLAY "Sleeping..." |
DISPLAY "Sleeping..." |
||
CALL "CBL_OC_NANOSLEEP" |
CALL "CBL_OC_NANOSLEEP" |
||
USING BY CONTENT Nanoseconds-To-Sleep |
USING BY CONTENT Nanoseconds-To-Sleep |
||
END-CALL |
|||
DISPLAY "Awake!" |
DISPLAY "Awake!" |
||
GOBACK. |
|||
END PROGRAM Sleep-In-Nanoseconds.</syntaxhighlight> |
|||
⚫ | |||
⚫ | |||
=={{header|Common Lisp}}== |
=={{header|Common Lisp}}== |