Here a simple solution with rule:
\documentclass{article}
\usepackage{xcolor}
\usepackage{ntheorem,lipsum}
\theoremseparator{:}
\newtheorem*{example}{Example}
\newtheorem*{solution}{Solution}
\newlength\outerlinewidth
\newlength\interline
\newlength\hangleft
\newenvironment{block}{%
\trivlist\item\relax\par%
\noindent\rlap{\hspace*{-\hangleft}\color{gray}%
\rule{\dimexpr \hangleft+\linewidth\relax}{\outerlinewidth}%
}%
}{\par%
\noindent\rlap{\hspace*{-\hangleft}\color{gray}%
\rule{\dimexpr \hangleft+\linewidth\relax}{\outerlinewidth}
}%
\endtrivlist}
\newcommand*\blockline{\par\noindent%
\begingroup\color{gray}%
\rule{\linewidth\relax}{\interline}\endgroup\par%
}
%Set parameter:
\setlength{\outerlinewidth}{6pt} %height of the outer line
\setlength{\interline}{2pt} %height of the inter line
\setlength{\hangleft}{1cm} % left indention
\begin{document}
\begin{block}
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
\blockline
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
\end{block}
\end{document}

EDIT
Here a solution with mdframed
\documentclass{article}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{ntheorem,lipsum}
\usepackage[framemethod=default]{mdframed}
\usepackage{showframe}
\mdfdefinestyle{block}{%
rightmargin=0pt,
innerrightmargin=0pt,
skipabove=\topskip,
skipbelow=\topskip,
leftline=false,
rightline=false,
leftmargin=-1cm,
innerleftmargin=1cm,
linecolor=gray,
linewidth=6pt
}
\newmdenv[style=block,ntheorem]{block}
\theoremseparator{:}
\newtheorem*{example}{Example}
\newtheorem*{solution}{Solution}
\newlength\outerlinewidth
\newlength\interline
\newcommand*\blockline{\par\noindent%
\begingroup\color{gray}%
\rule{\linewidth\relax}{\interline}\endgroup\par%
}
%Set parameter:
\setlength{\interline}{2pt} %height of the inter line
\begin{document}
\begin{block}
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
\blockline
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
\end{block}
\end{document}
EDIT 2
Here a solution with mdframed
in combination with etoolbox
. Of course you can use the solution without using mdframed
.
\documentclass{article}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{ntheorem,lipsum}
\usepackage[framemethod=default]{mdframed}
\usepackage{showframe}
\mdfdefinestyle{block}{%
rightmargin=0pt,
innerrightmargin=0pt,
skipabove=\topskip,
skipbelow=\topskip,
leftline=false,
rightline=false,
leftmargin=-1cm,
innerleftmargin=1cm,
linecolor=gray,
linewidth=6pt
}
\newmdenv[style=block,ntheorem]{block}
\theoremseparator{:}
\theorembodyfont{}
\newtheorem*{example}{Example}
\newtheorem*{solution}{Solution}
\newtoggle{env:example}
\newtoggle{env:solution}
\newtoggle{env:block}
\settoggle{env:solution}{false}
\settoggle{env:example}{false}
\settoggle{env:block}{false}
\BeforeBeginEnvironment{block}%
{\settoggle{env:block}{true}
\settoggle{env:solution}{false}
\settoggle{env:example}{false}}
\AfterEndEnvironment{block}%
{\settoggle{env:solution}{false}
\settoggle{env:block}{false}
\settoggle{env:example}{false}}
\BeforeBeginEnvironment{example}%
{\ifboolexpr{ test {\iftoggle{env:block}}
and
test {\iftoggle{env:example}}}%
{\settoggle{env:example}{true}}{}
\iftoggle{env:example}{\blockline}{}}
\AfterEndEnvironment{example}%
{\settoggle{env:example}{true}}
\newlength\outerlinewidth
\newlength\interline
\newcommand*\blockline{\par\noindent%
\begingroup\color{gray}%
\rule{\linewidth\relax}{\interline}\endgroup\par%
}
%Set parameter:
\setlength{\interline}{2pt} %height of the inter line
\begin{document}
\begin{block}
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
%\blockline
\begin{example}[Rear clock ahead]
\lipsum[1]
\end{example}
\begin{solution}
\lipsum[2]
\end{solution}
\end{block}
\end{document}